
26.05.2010, 13:33
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
вот пока 2 пути:
PHP код:
uses
jpeg,
ExtCtrls,
...
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
...
procedure TForm1.FormCreate(Sender: TObject);
type
TByteArray = array[0..MaxInt-1] of Byte;
PByteArray = ^TByteArray;
var
jpegimage: TJPEGImage;
image: TImage;
InfoHeaderSize: DWORD;
ImageSize: DWORD;
BitmapInfo: PBitmapInfoHeader;
Bits: PByteArray;
i: Integer;
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[i, i]:=0;
// 2
// GetDIB
GetDIBSizes(image.Picture.Bitmap.Handle, InfoHeaderSize, ImageSize);
BitmapInfo:=AllocMem(InfoHeaderSize);
Bits:=AllocMem(ImageSize);
GetDIB(image.Picture.Bitmap.Handle, 0, BitmapInfo^, Bits^);
for i:=0 to $ff do
Bits^[i]:=0;
FreeMem(Bits);
FreeMem(BitmapInfo);
image.Free;
jpegimage.Free;
end;
|