Главная страница
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.47 MB
Время: 0.024 c
14-1133262163
CHES
2005-11-29 14:02
2005.12.25
А вы говорите в килограмме 1024 грамма....


2-1134319884
apxi
2005-12-11 19:51
2005.12.25
Как связать 2 таблицы в Access с помощью запроса?


14-1133531149
Александр Иванов
2005-12-02 16:45
2005.12.25
Год спустя...


14-1133770503
Fin
2005-12-05 11:15
2005.12.25
Текст о поиске работников!


2-1133883036
Developerr
2005-12-06 18:30
2005.12.25
Как удалить запись из типизированного файла ?