ورود

View Full Version : مبتدی: برش یک تصویر از یک تصویر دیگر و عکس از فرم هندل خاص



na_3_er
دوشنبه 17 فروردین 1394, 00:48 صبح
با سلام و خسته نباشید دو تا سوال دارم اگر یه کمکی کنید سپاس گذارم

1- به فرض یه تصویر داریم من چطور میتونم مختصات دو نقطه رو بدم که دو نقطه رو از عکس اول برش بده و ذخیره کنه برای مفهوم بیشتر یه عکس درست کردم خالی از لطف نیست.

130055

تو این تصویر دو تا نقطه فرضی دادیم حال میخواییم عکس دوم از عکس اول استخراج کنیم.

2- سوال دوم اینکه چطوری از یه شماره هندل خاص مثلا 12345 که مثلا برای نوت پده از فرمش عکس بگیریم.
این کد برای عکس گرفتن دستکتابه ولی میخوام جای دستکتاب شماره هندل بدم از اون فورم عکس بگیره نه کل دسکتاب


procedure TForm1.Button3Click(Sender: TObject);
var DCDesk: HDC; // hDC of Desktop
bmp: TBitmap;
begin
{Create a bitmap}
bmp := TBitmap.Create;
{Set a bitmap sizes}
bmp.Height := Screen.Height;
bmp.Width := Screen.Width;
{Get a desktop DC handle - handle of a display device context}
DCDesk := GetWindowDC(GetDesktopWindow);
{Copy to any canvas, here canvas of an image}
BitBlt(bmp.Canvas.Handle, 0, 0, Screen.Width, Screen.Height,
DCDesk, 0, 0, SRCCOPY);
{Save the bitmap}
bmp.SaveToFile('ScreenShot.bmp');
{Release desktop DC handle}
ReleaseDC(GetDesktopWindow, DCDesk);
{Release a bitmap}
bmp.Free;
end;



از لطف شما واقعا سپاس گزارم

hadisalahi2
دوشنبه 17 فروردین 1394, 09:56 صبح
کامپوننت Envision Image Library یک امکان داره به نام Crop که من توی دموش دیدم

البته اونجا دستی برش زده میشد
اما وقتی این قابیلت به صورت دستی هست ، پس صد در صد با کدش هم میشه این کار رو انجام داد
توصیه من استفاده از این کامپوننت هستش

na_3_er
دوشنبه 17 فروردین 1394, 15:03 عصر
بدون کامپونت نمیشه از یه مختصات تا مختصات دیگه برش بده تو خود دلفی؟

یوسف زالی
دوشنبه 17 فروردین 1394, 15:23 عصر
با استفاده از copyrect از شی canvas می تونید این کار رو انجام بدید.

na_3_er
سه شنبه 18 فروردین 1394, 18:43 عصر
یه مثال میتونید بزنید بزرگوار؟

یوسف زالی
چهارشنبه 19 فروردین 1394, 11:07 صبح
Image1.Canvas.CopyRect(Rect(1, 1, 100, 100), Form1.Canvas, Rect(1, 1, 100, 100));