Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Media";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.01 c
2-1133941899
vitek
2005-12-07 10:51
2005.12.25
Регистрация DLL


14-1133762024
Ega23
2005-12-05 08:53
2005.12.25
С днем рождения! 5 декабря


2-1134047661
Daria
2005-12-08 16:14
2005.12.25
вопрос по .db


2-1134375393
ZZZ
2005-12-12 11:16
2005.12.25
Программное изменение раскладки клавиатуры и разрешение экрана.


3-1131445760
root
2005-11-08 13:29
2005.12.25
Вопрос по ADO





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский