Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

Как прграммно изменить разрешение рисунка?   Найти похожие ветки 

 
ShotGun ©   (2005-07-19 09:24) [0]

Как можно это сделать? Кто может помочь?


 
dmk ©   (2005-07-20 20:17) [1]

Ознакомься с парой-тройкой алгоритмов ресемплинга.
Выбери подходящий и банзай.


 
Gydvin ©   (2005-07-22 08:39) [2]

Вот  гдето выдрал и доделал,  у меня работает

procedure tkart.SetResJpg(filename: string; dpix, dpiy: Integer);
const
  BufferSize = 50;
  DPI = 1; //inch
 DPC = 2; //cm
var
  Buffer: string;
  index: INTEGER;
  FileStream: TFileStream;
  xResolution: WORD;
  yResolution: WORD;
  _type: Byte;
begin
  FileStream := TFileStream.Create(name,
    fmOpenReadWrite);
  try
    SetLength(Buffer, BufferSize);
    FileStream.Read(buffer[1], BufferSize);
    index := POS("JFIF",buffer);
    if index > 0
      then begin
      FileStream.Seek(index + 6, soFromBeginning);
      _type := DPI;
      FileStream.write(_type, 1);
      xresolution := swap(dpix);
      FileStream.write(xresolution, 2);
      yresolution := swap(dpiy);
      FileStream.write(yresolution, 2);
    end  ;

    index := POS("BM",buffer);
    if index > 0
      then begin
      FileStream.Seek(index + 37, soFromBeginning);
     // FileStream.write(_type, 1);
      xresolution :=  strtoint(floattostr(RoundFloat(strtofloat(inttostr(dpix))*39.4,0)));
      //swap(dpix);
   //   showmessage(floattostr(RoundFloat(strtofloat(inttostr(xresolution))/39.4,0)));
      FileStream.write(xresolution, 2);
       FileStream.Seek(index + 41, soFromBeginning);
      yresolution :=strtoint(floattostr(RoundFloat(strtofloat(inttostr(dpiy))*39.4,0)));

      //swap(dpiy);
      FileStream.write(yresolution, 2);
    end

  finally
    FileStream.Free;
  end;
end;


 
Gydvin ©   (2005-07-22 08:41) [3]

Тоесть

FileStream := TFileStream.Create(name,
    fmOpenReadWrite); следует читать как

FileStream := TFileStream.Create(filename,
    fmOpenReadWrite);



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.012 c
14-1133694388
Алекскндр
2005-12-04 14:06
2005.12.25
Что такое MSDN и SDK


14-1133540522
Agurchik
2005-12-02 19:22
2005.12.25
Чему равна 1 WebMoney Z ?


2-1133856902
Alex7
2005-12-06 11:15
2005.12.25
операция "in"


2-1134219586
gdaujk
2005-12-10 15:59
2005.12.25
Const - параметры функции


10-1110505984
val_5
2005-03-11 04:53
2005.12.25
Поддерживает ли об ект интерфейс ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский