Parsi Coders
رنگ و پیکسل تصاویر - نسخه قابل چاپ

+- Parsi Coders (http://parsicoders.com)
+-- انجمن: Software Development Programming (http://parsicoders.com/forumdisplay.php?fid=37)
+--- انجمن: Visual Basic Programming (http://parsicoders.com/forumdisplay.php?fid=39)
+---- انجمن: Visual Basic 6 (http://parsicoders.com/forumdisplay.php?fid=44)
+---- موضوع: رنگ و پیکسل تصاویر (/showthread.php?tid=3725)



رنگ و پیکسل تصاویر - kosar - 11-07-2014

سلام  به همه ی  دوستان در ویژوال این امکان وجود داره که یک کد بنویسیم رنگهای موجود در یک تصویر رو شناسایی و به ترتیب به رنگها شماره بده مثلا از کمرنگ به پر رنگ شماره گذاری کنه  و شماره پیکسل هایی که رنگ ها در اون قرار دارن رو به ما بده بعد رنگ ها رو همراه کدشون به ما نشون بده اگر کمکم کنید خیلی ممنون میشم


RE: رنگ و پیکسل تصاویر - Amin_Mansouri - 11-07-2014

درود
خوش امدید
بله این امکان در وی بی 6 هست
یک سمپل :
The Point method returns the color value of a given pixel, but is rather slow because it has to convert its argument from twips (or whatever ScaleMode is currently active) to pixels, and also because its argument are treated as Single quantities, and must therefore converted. When you have to retrieve the color value of many pixels you should use the GetPixel API function instead. Here is its declaration:

کد:
Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, _
    ByVal y As Long) As Long

The following code example counts the number of red pixels on the active form:
کد:
' assumes that form's ScaleMode
' is set to 3 - Pixels
Dim x As Long, y As Long
Dim h As Long, count As Long
' cache form's hDC property
h = Me.hdc
For y = 0 To ScaleHeight - 1
    For x = 0 To ScaleWidth - 1
        If GetPixel(h, x, y) = vbRed Then
            count = count + 1
        End If
    Next
Next
It is about three times faster than the equivalent code that uses the Point method. Note that we can have this speed increment also because we cache the hDC property into a variable.