Jump to content

Pixel brightness question


sebgg
 Share

Recommended Posts

hi all

ok so my problem is i need to find a way to get autoit to check the brightness of a given pixel.

and by brightness I mean purley how light or dark it is on a grey scale.

i have written a script to check pixel color, and was wondering if:

a) there is one for brightness

;) (more likley) i can convert the output, either hexadecimal etc into something which gives how light or dark that particular pixel is, as i am not interested in color at all.

so it there something about a hexadecimal code for a color, which is analagous to brightness?

thanks in advance

sebs

GC - Program to rapidly manipulate DNA SequencesRotaMol - Program to measure Protein Size
Link to comment
Share on other sites

  • Moderators

sebgg,

The standard (according to Google) method to determine the "luminosity" of a given colour is to use the following formula:

(Red_Value * 0.3) + (Green_Value * 0.59) + (Blue_Value * 0.11)

So as you have the pixel colour, all you need to do is to plug in the return values from _ColorGetRed, _ColorGetGreen and _ColorGetBlue into that formula and you have your result on a scale of 0 to 255.

I have used a very similar process to greyscale images with GDI with excellent results. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

  • Moderators

Manadar,

Thanks for that link - obviously a more complex matter than suggested by the searches I made when I was writing my greyscale script a while ago. But I think I will just stick with my simplistic version - the results were good enough for me. ;)

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Link to comment
Share on other sites

Check out the API call 'ColorRGBToHLS', which will give you non-floating-point results. You'll need to shift the color to a 'BGR' format first, but this is easy enough to do.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...