Re: gdk_pixbuf_composite leaves artifacts in the dest pixbuf, if, dest_x is > 0. Help please?
- From: Todor Todorov <ttodorov gmx net>
- To: gtk-app-devel-list gnome org
- Subject: Re: gdk_pixbuf_composite leaves artifacts in the dest pixbuf, if, dest_x is > 0. Help please?
- Date: Tue, 10 Nov 2009 19:10:11 -0500
That did not work either, so I uploaded the 2 images on the Net and here
are the links for the interested:
[no artifacts] http://www.inselpix.com/img/833790624900.jpg
[artifacts] http://www.inselpix.com/img/478403985121.jpg
I hope someone can tell me, what I missed/did wrong when composing the
target image.
Kind regards,
Todor
On 11/10/2009 06:49 PM, Todor Todorov wrote:
OK, something happened to the attached images, so let's see about
inlining them ...
offset is zero, no artifacts offset is zero, no artifacts
offset is 16, artifacts at the right side of the imageoffset is 16,
artifacts at the right side of the image
On 11/10/2009 06:39 PM, Todor Todorov wrote:
Hello list,
I am trying to create a thumbnail from a digital image, which should
not exceed 128 px width or height. After loading the image, I apply
the EXIF orientation information, if available. In order to prettify
the resulting display, I would like to place the pixbuf horizontally
centered onto another transparent pixbuf with dimensions 128x128 px.
Here is (part of) the code I use (removed the error checking for
simplification):
gchar *imgSrcName;
GdkPixbuf *src, *interm, *result;
guint width, height, xOffset;
int i = 0;
...
src = gdk_pixbuf_load_from_file_at_scale( imgSrcName, 128, 128, TRUE,
NULL );
result = gdk_pixbuf_new( GDK_COLORSPACE_RGB, TRUE,
gdk_pixbuf_get_bits_per_sample( src ), 128, 128 );
interm = gdk_pixbuf_apply_embedded_orientation( src );
gdk_pixbuf_unref( src );
width = gdk_pixbuf_get_width( interm );
height = gdk_pixbuf_get_height( interm );
while ( i < 2 )
{
gchar *save;
gdk_pixbuf_fill( result, 0xffffff00 );
xOffset = i++ * ( 128 - width ) / 2;
gdk_pixbuf_composite( interm, result, xOffset, 0, width,
height, 0, 0, 1.0, 1.0, GDK_INTERP_NEAREST, 255 );
save = g_strdup_printf( "test%d.jpg", i );
gdk_pixbuf_save( result, save, "jpeg", NULL, "quality",
"100", NULL );
g_free( save );
}
gdk_pixbuf_unref( interm );
gdk_pixbuf_unref( result );
As you can see in the attached images, the result is OK only if the
xOffset on translation is 0. The centered version shows artifacts on
the right border of the image. And it does not make a speck of
difference, if the interpolation type is _BILINEAR or _HYPER ...
Could anyone please help in solving this ?
Regards
Todor
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list gnome org
http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]