![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Глючит ли Имага? [D6, D7, WinXP]
loky © (2004-09-16 16:18:00)procedure TForm1.Button2Click(Sender: TObject);
var
d: hdc;
i: integer;
begin
D:=getdc(0);
bitblt(Image1.Canvas.Handle,0,0,Image1.Width,image1.Height,d,0,0,SRCCOPY);
i:=0;
while FileExists(IntToStr(i)+'.bmp') do inc(i);
Image1.Picture.SaveToFile(IntToStr(i)+'.bmp');
// ReleaseDC(0, d); - не нужна (кажется)
end;
В результате нулевая бмп-ха нормальная, а все последующие - со съехавшей палитрой. Из-за чего???
На имаге все нормально.
loky (2004-10-01 15:30:00) [1]Санкс попробую!
Mihey_temporary (2004-09-16 21:37:00) [2]Исользуй Canvas.Handle и SaveToFile от Image1.Picture.Bitmap.
Рыба (2004-09-16 18:40:00) [3]
procedure TForm1.Button2Click(Sender: TObject);
var
d: hdc;
i: integer;
Bmp: TBitmap;
begin
Bmp := TBitmap.Create;
try
Bmp.Width := Screen.Width;
Bmp.Height := Screen.Height;
Bmp.PixelFormat := pf24Bit;
D:=getdc(0);
bitblt(Bmp.Canvas.Handle,0,0,Bmp.Width,Bmp.Height,d,0,0,SRCCOPY);
i:=0;
while FileExists(IntToStr(i)+'.bmp') do inc(i);
Bmp.SaveToFile(IntToStr(i)+'.bmp');
ReleaseDC(0, d); { нужна кажется :)) }
finally
Bmp.Free;
end;
end;