İyi günler;
web browserda açtığım sayfa belirli bir alanın resmini almak istiyorum. daha sonra ise bu alanı başka bir resimle karşılaştırmak istiyorum. site arattım kodları uyguladım fakat tam olarak çalıştıramadım. bu konuda bilgi veya site verirseniz sevinirim.
ekranda belirli alanın görüntüsünü almak
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- pasa_yasar
- Üye
- Mesajlar: 570
- Kayıt: 07 Haz 2004 12:35
Tam olarak anlamadım yapacağını ama bu kod belki işini görür
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Image1: TImage;
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
DCDesk: HDC;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); // Görüntüyü Alır
begin
DCDesk:=GetWindowDC(GetDesktopWindow);
BitBlt(Image1.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,DCDesk, 0, 0,SRCCOPY);
//Burda koordiat verebilirsin
ReleaseDC(GetDesktopWindow, DCDesk);
end;
procedure TForm1.Button2Click(Sender: TObject);//Kayıt eder
begin
image1.Picture.SaveToFile('c:\ss.jpg');
end;
end.
talip türkmen
- pasa_yasar
- Üye
- Mesajlar: 570
- Kayıt: 07 Haz 2004 12:35
çektiğimiz resmi pixel pixel nasıl karşılaştırabiliriz.
forumda böyle bir kod buldum fakat istediğim sonuçları vermedi. pixel pixek renk karşılaştırma komutu nedir veya kodları nelerdir.
Kod: Tümünü seç
var
b1, b2: TBitmap;
c1, c2: PByte;
x, y, i,
BytesPerPixel: Integer; // Counter for different pixels
begin
b1 := Image1.Picture.Bitmap;
// image2.Picture.LoadFromFile('C:\Tamam\deneme.bmp');
b2 := Image2.Picture.Bitmap;
Assert(b1.PixelFormat = b2.PixelFormat); // they have to be equal
different := 0;
try
for y := 0 to b1.Height - 1 do
begin
c1 := b1.Scanline[y];
c2 := b2.Scanline[y];
for x := 0 to b1.Width - 1 do
for i := 0 to BytesPerPixel - 1 do // 1, to 4, dep. on pixelformat
begin
Inc(different, Integer(c1^ <> c2^));
Inc(c1);
Inc(c2);
end;
end;
except;
end;
form1.Caption:=inttostr(different);