Çalışma anında ekranda sabit bir alanın görüntüsünü alma - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Access violation (https://www.delphican.com/forumdisplay.php?fid=136) +--- Konu Başlığı: Çalışma anında ekranda sabit bir alanın görüntüsünü alma (/showthread.php?tid=1265) |
Çalışma anında ekranda sabit bir alanın görüntüsünü alma - Abdullah ILGAZ - 18-08-2017 Merhaba, Tuğrul abimin sorusunu gelenekselleştirmek adına küçük bir soru bırakıyorum buraya İstenilen: Program çalışma anında herhangi bir Top ve Left değeri girildiğinde, bu değeri alıp TImage nesnesine aktarmak. Bunun için herhangi bir dosya oluşturulmayacak ve harddiskte yer işgal etmeyecek. Bir Panel yada View komponentinin sabit konumunu (kare-dikdörtgen) (Top: 5, Left:5) alıp Bitmap oluşturarak TImage nesnesinde göstereceğiz. Çalışma anında ekranda sabit bir alanın görüntüsünü alma - sametkayaoglu - 20-08-2017 Layout1.MakeScreenshot; kodu Layout1 ekran görüntüsünü alır Tbitmap olarak geri döner MakeScreenshot kodunu incelersen left top siz belirleyerek istediğiniz alanı alabilirsiniz. Cvp: Çalışma anında ekranda sabit bir alanın görüntüsünü alma - QuAdR - 20-08-2017 procedure GetScreen(x, y, wd, hg: integer; img: TImage); var bmp: TBitmap; begin bmp := TBitmap.Create; bmp.Width := wd; bmp.Height := hg; with bmp do try img.Width := wd; img.Height := hg; BitBlt(bmp.Canvas.Handle,0,0,wd,hg,GetDC(0),x ,y, SRCCOPY); img.Picture.Assign(bmp); finally Free; end; end; Kullanımı : GetScreen(Mouse.CursorPos.X,Mouse.CursorPos.Y, 400, 200, Image1); |