Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.05 c
2-1133868508
Big Snake
2005-12-06 14:28
2005.12.25
ProgressBar


14-1133201060
Profi
2005-11-28 21:04
2005.12.25
Лицензионная Delphi


5-1117623851
Skip
2005-06-01 15:04
2005.12.25
Создание компонентов с нуля. Киньте ссылку plz.


4-1130302678
HardMan
2005-10-26 08:57
2005.12.25
Определение модели винта и его скорости чтения/записи


3-1131458625
syte_ser78
2005-11-08 17:03
2005.12.25
тут хоть ктонибуть в базах розбирается?




   Наверх