Модератор: Модераторы
Лекс Айрин писал(а):Alex2013, а ты вообще осознаешь, что такое raw? Я лично вот удивлен, что его можно использовать для любого файла. Хотя, скорее всего, это не оригинальный raw, а просто представление картинки в виде байтового массива. Изначально это набор данных во внутреннем представлении цифрового фотоаппарата. Поэтому люди и стараются не использовать его. Ибо неизвестно что будет если там что-то тронешь.
Лекс Айрин писал(а):Блокировка нужна потому что работа идёт с битовым представлением
Alex2013 писал(а):Возможно в этом высший есть какой-то "высший смысл" но что мешает сделать стандартную альтернативу непонятно
Function CompareBMP (B1,B2:TBitmap):Bool;
begin
Result:=False;
If (B1<> Nil) and (B2<> Nil) and (B1.RawImage.DataSize>0) and (B2.RawImage.DataSize>0) then
Result:=( CompareByte(B1.RawImage.Data^,b2.RawImage.Data^,b1.RawImage.DataSize) = 0);
end;
procedure TSCForm1.Timer1Timer(Sender: TObject);
var
MyBitmap : TBitmap;
ScreenDC : HDC;
R:TRect;
begin
MyBitmap:=TBitmap.Create;
ScreenDC:=GetDC(0); MyBitmap.LoadFromDevice(ScreenDC);
R:=Rect(0,0,MyBitmap.Width,self.TrackBar1.Position);
With Image1.Picture.Bitmap do
begin SetSize(r.Width,r.Height); Canvas.CopyRect(r, MyBitmap.Canvas,r); end;
MyBitmap.Free;
Shape2.hide;
if CheckBox1.Checked And
CompareBMP(Image1.Picture.Bitmap,Image2.Picture.Bitmap) then
begin
Shape2.Show;
KeyInput.Down(vk_LWin);
KeyInput.Press(vk_Y);
KeyInput.Up(vk_LWin);
end
end;
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15