ورود

View Full Version : گرفتن پيكسل هاي فرم



m4hd1r
دوشنبه 07 شهریور 1390, 01:19 صبح
سلام
ببخشيد يه سوال داشتم
اولا ورود خودم رو به فروم تبريك ميگم
بعد سوال:
چجوري ميتونم اطلاعات رنگ يه پيكسل از فرمم رو بگيرم؟:لبخند:

returnx
دوشنبه 07 شهریور 1390, 10:22 صبح
با تابع Get Pixel API میتونید اینکار رو انجام بدید:

Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Dim x As Long
x = GetPixel(Me.hdc, 100, 100)
Print x

محسن واژدی
دوشنبه 07 شهریور 1390, 10:31 صبح
سلام علیکم
هم توسط APIیی که جناب ms2222 میتوانید و هم تواسط تابع Point وی بی هم امکان پذیر است و فکر کنم ساده تر باشد:
برای PictureBox

Private Sub Command1_Click()

Dim x As Long
x = Picture1.Point(100, 100)
Print x

End Sub


و فرم

Private Sub Command1_Click()

Dim x As Long
x = Me.Point(100, 100)
Print x

End Sub



موفق باشید

m4hd1r
دوشنبه 07 شهریور 1390, 13:46 عصر
كدوم سريع تره؟

محسن واژدی
دوشنبه 07 شهریور 1390, 13:52 عصر
از نظر سرعت عملکرد نمیتوان آنها را با هم مقایسه کرد چون هر دو سریع هستند

m4hd1r
دوشنبه 07 شهریور 1390, 14:12 عصر
ببخشيد يه سوال اين عدد خروجي چيه ؟

محسن واژدی
دوشنبه 07 شهریور 1390, 14:37 عصر
عدد خروجی مقدار رنگ گرفته شده است، برای درک بیشتر اگر تابع Point یا GetPixel را مقابل کد زیر قرار دهید رنگ گرفته شده را میبینید:

Me.BackColor=Point(100, 100)


موفق باشید