VoyForums
[ Show ]
Support VoyForums
[ Shrink ]
VoyForums Announcement: Programming and providing support for this service has been a labor of love since 1997. We are one of the few services online who values our users' privacy, and have never sold your information. We have even fought hard to defend your privacy in legal cases; however, we've done it with almost no financial support -- paying out of pocket to continue providing the service. Due to the issues imposed on us by advertisers, we also stopped hosting most ads on the forums many years ago. We hope you appreciate our efforts.

Show your support by donating any amount. (Note: We are still technically a for-profit company, so your contribution is not tax-deductible.) PayPal Acct: Feedback:

Donate to VoyForums (PayPal):

Login ] [ Contact Forum Admin ] [ Main index ] [ Post a new message ] [ Search | Check update time | Archives: 123456789[10] ]


[ Next Thread | Previous Thread | Next Message | Previous Message ]

Date Posted: 14:13:14 05/06/00 Sat
Author: Michel
Subject: Re: Getting Brigthness from pixels
In reply to: Marc 's message, "Getting Brigthness from pixels" on 11:57:10 05/04/00 Thu


Hi Marc,

The simplest way to obtain the "brightness" of a pixel is to average out the RGB values of a particular pixel. This is not completely correct as the humain eye is much more sensitive to green compared to red and blue.

For example, if you look at the TConvertToGrayTransform constructor you will see these constants,

FRedFactor := 0.299;
FGreenFactor := 0.587;
FBlueFactor := 0.114;

That when converting a color image to a black an white image, the green factor is much more important. You can use these contants to weight the brightness of a pixel.

A better approach is to convert each RGB value to a hue, saturation, and luminosity values. This is another way of representing colors. This is what is used by the TBrightnessTransform. You'll find the functions RGBToHSL and
HSLToRGB in the EnTransf.Pas unit (EnTransf.hpp header). The code in the TBrightnessTransform::ApplyOnDest method will give a clear example on how to modify the brightness of some pixels (this is in the EnTransf.Pas). Just use the RGB property of the TDibGraphic class to access the pixels you want to change.

Best regards,

Michel

> How can I get the brigness value from a pixel and then
> incress it or decress it?
>
> Also is there an easy way of setting a whole row of
> pixels to a brighness value.
>
> I use builder 4
>
> Thanks,
> Marc
> Sault Custom Programming
> <a rel=nofollow target=_blank href="http://scp.on.ca">http://scp.on.ca</a>

[ Next Thread | Previous Thread | Next Message | Previous Message ]

[ Contact Forum Admin ]


Forum timezone: GMT-5
VF Version: 3.00b, ConfDB:
Before posting please read our privacy policy.
VoyForums(tm) is a Free Service from Voyager Info-Systems.
Copyright © 1998-2019 Voyager Info-Systems. All Rights Reserved.