Тема: jpeg-файлы
Показать сообщение отдельно
  #2  
Старый 26.05.2010, 13:33
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

вот пока 2 пути:
PHP код:
uses
  jpeg
,
  
ExtCtrls,
...
type
  TForm1 
= class(TForm)
    
procedure FormCreate(SenderTObject);
...
procedure TForm1.FormCreate(SenderTObject);
type
  TByteArray 
= array[0..MaxInt-1of Byte;
  
PByteArray = ^TByteArray;
var
  
jpegimageTJPEGImage;
  
imageTImage;
  
InfoHeaderSizeDWORD;
  
ImageSizeDWORD;
  
BitmapInfoPBitmapInfoHeader;
  
BitsPByteArray;
  
iInteger;
begin
  jpegimage
:=TJPEGImage.Create;
  
jpegimage.LoadFromFile('d:\Oleg\Work\Images\Windows2.jpg');
  
image:=TImage.Create(Self);
  
image.Picture.Bitmap.Assign(jpegimage);

  
//  1
  //  Pixels[x, y]
  
for i:=0 to $ff do
    
image.Canvas.Pixels[ii]:=0;

  
//  2
  //  GetDIB
  
GetDIBSizes(image.Picture.Bitmap.HandleInfoHeaderSizeImageSize);
  
BitmapInfo:=AllocMem(InfoHeaderSize);
  
Bits:=AllocMem(ImageSize);
  
GetDIB(image.Picture.Bitmap.Handle0BitmapInfo^, Bits^);
  for 
i:=0 to $ff do
    
Bits^[i]:=0;
  
FreeMem(Bits);
  
FreeMem(BitmapInfo);

  
image.Free;
  
jpegimage.Free;
end
Ответить с цитированием