Author: akv
Date: 2012-09-03 22:12:47 +0200 (Mon, 03 Sep 2012)
New Revision: 4276
Modified:
branches/4175-enfuse/src/rs-enfuse.c
Log:
Rewrote pixelcalculation in calculate_lightness().
Modified: branches/4175-enfuse/src/rs-enfuse.c
===================================================================
--- branches/4175-enfuse/src/rs-enfuse.c 2012-09-03 19:16:14 UTC (rev
4275)
+++ branches/4175-enfuse/src/rs-enfuse.c 2012-09-03 20:12:47 UTC (rev
4276)
@@ -60,19 +60,27 @@
guchar *pixels = gdk_pixbuf_get_pixels(pixbuf);
gint rowstride = gdk_pixbuf_get_rowstride(pixbuf);
gint height = gdk_pixbuf_get_height(pixbuf);
+ gint width = gdk_pixbuf_get_width(pixbuf);
+ gint channels = gdk_pixbuf_get_n_channels(pixbuf);
- gint i;
+ gint x,y,c;
gulong sum = 0;
gint num = 0;
- for (i = 0; i<rowstride*height; i++)
- {
- sum += pixels[i];
- num++;
+ for (y = 0; y < height; y++)
+ {
+ for (x = 0; x < width; x++)
+ {
+ for (c = 0; c < channels; c++)
+ {
+ sum += pixels[x+c+y*rowstride];
+ }
+ }
}
g_object_unref(pixbuf);
+ num = width*height*channels;
return (gint) (sum/num);
}
_______________________________________________
Rawstudio-commit mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-commit