VB.NET CONVERT BYTE NUMBER TO 8 BIT (256 COLORS) RGB VALUE -


i read link converting 8 bit color rgb value

then tried vb.net code following:

private sub picturebox1_mousedown(byval sender object, _                           byval e system.windows.forms.mouseeventargs) _                           handles picturebox1.mousedown      dim bm new bitmap(picturebox1.image)     dim red byte = bm.getpixel(e.x, e.y).r     dim green byte = bm.getpixel(e.x, e.y).g     dim blue byte = bm.getpixel(e.x, e.y).b      dim colornumber byte = ((red / 32) << 5) + ((green / 32) << 2) + (blue / 64)      ' show byte number of color     msgbox(colornumber)      msgbox(red & ":" & green & ":" & blue)      red = (colornumber >> 5) * 32     green = ((colornumber >> 2) << 3) * 32     blue = (colornumber << 6) * 64      msgbox(red & ":" & green & ":" & blue)   end sub 

but when 1 pixel selected, error occurs:

arithmetic operation resulted in overflow.

how byte value of image 256 colors (8 bits), , restore (conversion) resulting byte value rgb value.

thanks :)

your colornumber has been declared byte, can store values 0 255... change code this:

dim colornumber int32 = ((red / 32) << 5) + ((green / 32) << 2) + (blue / 64) 

also, since you're using .net can color function:

dim color color = color.fromrgb(red, green, blue) 

Comments

Popular posts from this blog

matlab - Deleting rows with specific rules -

php - MySQLi multi_query results for later use -