From: <ai...@us...> - 2008-09-30 22:34:44
|
Revision: 8842 http://plplot.svn.sourceforge.net/plplot/?rev=8842&view=rev Author: airwin Date: 2008-09-30 22:34:25 +0000 (Tue, 30 Sep 2008) Log Message: ----------- Attempt to increase smoothness of gd device driver results by storing scaling factor as PLFLT (which means some subsequent calculations are also upgraded to PLFLT precision). The change made no observable difference (probably because the libgd library is completely fixated on integer pixels), but I am going to leave it in anyway for consistency with the scaling methods of the other device drivers. Modified Paths: -------------- trunk/drivers/gd.c Modified: trunk/drivers/gd.c =================================================================== --- trunk/drivers/gd.c 2008-09-30 22:01:47 UTC (rev 8841) +++ trunk/drivers/gd.c 2008-09-30 22:34:25 UTC (rev 8842) @@ -247,7 +247,7 @@ int totcol; /* Total number of colours */ int ncol1; /* Actual size of ncol1 we got */ - int scale; /* scaling factor to "blow up" to */ + PLFLT scale; /* scaling factor to "blow up" to */ /* the "virtual" page in removing hidden lines*/ int optimise; /* Flag used for 4bit pngs */ @@ -505,15 +505,15 @@ if (dev->pngx>dev->pngy) /* Work out the scaling factor for the */ { /* "virtual" (oversized) page */ - dev->scale=PIXELS_X/dev->pngx; + dev->scale=(PLFLT)PIXELS_X/(PLFLT)dev->pngx; } else { - dev->scale=PIXELS_Y/dev->pngy; + dev->scale=(PLFLT)PIXELS_Y/(PLFLT)dev->pngy; } #else - dev->scale=1; + dev->scale=1.; #endif @@ -661,15 +661,15 @@ if (dev->pngx>dev->pngy) /* Work out the scaling factor for the */ { /* "virtual" (oversized) page */ - dev->scale=PIXELS_X/dev->pngx; + dev->scale=(PLFLT)PIXELS_X/(PLFLT)dev->pngx; } else { - dev->scale=PIXELS_Y/dev->pngy; + dev->scale=(PLFLT)PIXELS_Y/(PLFLT)dev->pngy; } #else - dev->scale=1; + dev->scale=1.; #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2008-10-29 14:54:37
|
Revision: 8980 http://plplot.svn.sourceforge.net/plplot/?rev=8980&view=rev Author: andrewross Date: 2008-10-29 14:54:26 +0000 (Wed, 29 Oct 2008) Log Message: ----------- Remove unnecessary call to plscmap0n. This is already handled properly in the subsequent call to plD_FreeType_Destroy. Modified Paths: -------------- trunk/drivers/gd.c Modified: trunk/drivers/gd.c =================================================================== --- trunk/drivers/gd.c 2008-10-29 14:19:56 UTC (rev 8979) +++ trunk/drivers/gd.c 2008-10-29 14:54:26 UTC (rev 8980) @@ -1164,8 +1164,6 @@ #ifdef HAVE_FREETYPE if (pls->dev_text) { - FT_Data *FT=(FT_Data *)pls->FT; - plscmap0n(FT->ncol0_org); plD_FreeType_Destroy(pls); } #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2008-12-10 11:55:45
|
Revision: 9076 http://plplot.svn.sourceforge.net/plplot/?rev=9076&view=rev Author: smekal Date: 2008-12-10 11:30:22 +0000 (Wed, 10 Dec 2008) Log Message: ----------- Function plToGdAlpha is only defined if GD2_VERS >=2 since gdAlphaMax is only available from this version on. Modified Paths: -------------- trunk/drivers/gd.c Modified: trunk/drivers/gd.c =================================================================== --- trunk/drivers/gd.c 2008-12-10 10:20:33 UTC (rev 9075) +++ trunk/drivers/gd.c 2008-12-10 11:30:22 UTC (rev 9076) @@ -230,10 +230,12 @@ #define gdImagePalettePixel( im, x, y ) (im)->pixels[(y)][(x)] #endif +#if GD2_VERS >= 2 int plToGdAlpha( PLFLT a ) { int tmp = (int)((1.0-a)*gdAlphaMax); return tmp; } +#endif /* Struct to hold device-specific info. */ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2008-12-19 10:20:51
|
Revision: 9203 http://plplot.svn.sourceforge.net/plplot/?rev=9203&view=rev Author: andrewross Date: 2008-12-19 10:20:49 +0000 (Fri, 19 Dec 2008) Log Message: ----------- Update comments about png compression levels to explain what they mean. Modified Paths: -------------- trunk/drivers/gd.c Modified: trunk/drivers/gd.c =================================================================== --- trunk/drivers/gd.c 2008-12-19 08:18:18 UTC (rev 9202) +++ trunk/drivers/gd.c 2008-12-19 10:20:49 UTC (rev 9203) @@ -403,8 +403,11 @@ dev->colour=1; /* Set a fall back pen colour in case user doesn't */ /* - * Set the compression/quality level for JPEG files + * Set the compression/quality level for PNG files * The higher the value, the bigger/better the image is + * Values of 0-9 translate to the zlib compression values 0-9 + * Values 10 <= compression <= 99 are divided by 10 to get the zlib + * compresison value. Values greater than 99 are set to 90. */ if ( (pls->dev_compression<=0)||(pls->dev_compression>99) ) pls->dev_compression=90; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2008-12-19 18:09:29
|
Revision: 9207 http://plplot.svn.sourceforge.net/plplot/?rev=9207&view=rev Author: airwin Date: 2008-12-19 18:09:25 +0000 (Fri, 19 Dec 2008) Log Message: ----------- Do not change pls->dev_compression value for -dev png. Instead, interpretation of the value is done the same as before, but locally. Improve documentation of that interpretation. Modified Paths: -------------- trunk/drivers/gd.c Modified: trunk/drivers/gd.c =================================================================== --- trunk/drivers/gd.c 2008-12-19 17:50:25 UTC (rev 9206) +++ trunk/drivers/gd.c 2008-12-19 18:09:25 UTC (rev 9207) @@ -402,15 +402,6 @@ dev->colour=1; /* Set a fall back pen colour in case user doesn't */ -/* - * Set the compression/quality level for PNG files - * The higher the value, the bigger/better the image is - * Values of 0-9 translate to the zlib compression values 0-9 - * Values 10 <= compression <= 99 are divided by 10 to get the zlib - * compresison value. Values greater than 99 are set to 90. - */ - if ( (pls->dev_compression<=0)||(pls->dev_compression>99) ) - pls->dev_compression=90; /* Check for and set up driver options */ @@ -1312,6 +1303,7 @@ { png_Dev *dev=(png_Dev *)pls->dev; int im_size=0; + int png_compression; void *im_ptr=NULL; if (pls->family || pls->page == 1) { @@ -1338,7 +1330,20 @@ lib a crash occurs - this fix works also in Linux */ /* gdImagePng(dev->im_out, pls->OutFile); */ #if GD2_VERS >= 2 - im_ptr = gdImagePngPtrEx (dev->im_out, &im_size, pls->dev_compression >9 ? (pls->dev_compression/10) : pls->dev_compression); + + /*Set the compression/quality level for PNG files. + pls->dev_compression values of 1-9 translate to the zlib compression values 1-9 + pls->dev_compression values 10 <= compression <= 99 are divided by 10 to get the zlib + compression value. Values <=0 or greater than 99 are set to 90 which + translates to a zlib compression value of 9, the highest quality + of compression or smallest file size or largest computer time required + to achieve the compression. Smaller zlib compression values correspond + to lower qualities of compression (larger file size), but lower + computer times as well. */ + + png_compression = ((pls->dev_compression<=0)||(pls->dev_compression>99)) ? 90 : pls->dev_compression; + png_compression = (png_compression > 9) ? (png_compression/10) : png_compression; + im_ptr = gdImagePngPtrEx (dev->im_out, &im_size, png_compression); #else im_ptr = gdImagePngPtr(dev->im_out, &im_size); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <and...@us...> - 2009-01-19 19:47:53
|
Revision: 9347 http://plplot.svn.sourceforge.net/plplot/?rev=9347&view=rev Author: andrewross Date: 2009-01-19 19:47:50 +0000 (Mon, 19 Jan 2009) Log Message: ----------- By default disable anti-aliasing for the gif device. It runs into problems when there are lots of colours in use and results are not as good as for truecolour devices. It can still be enabled using -drvopt smooth=1 if required. The test scripts already disable it on the command line as example 2 runs into trouble. Modified Paths: -------------- trunk/drivers/gd.c Modified: trunk/drivers/gd.c =================================================================== --- trunk/drivers/gd.c 2009-01-19 12:08:22 UTC (rev 9346) +++ trunk/drivers/gd.c 2009-01-19 19:47:50 UTC (rev 9347) @@ -560,7 +560,7 @@ static int red15=0; #ifdef HAVE_FREETYPE static int freetype=1; - static int smooth_text=1; + static int smooth_text=0; FT_Data *FT; #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ai...@us...> - 2009-08-18 18:18:18
|
Revision: 10287 http://plplot.svn.sourceforge.net/plplot/?rev=10287&view=rev Author: airwin Date: 2009-08-18 18:18:11 +0000 (Tue, 18 Aug 2009) Log Message: ----------- Restore proper default compression value for jpeg device. (The previous bad default of zero was causing terrible blurring of the results.) Modified Paths: -------------- trunk/drivers/gd.c Modified: trunk/drivers/gd.c =================================================================== --- trunk/drivers/gd.c 2009-08-18 16:35:32 UTC (rev 10286) +++ trunk/drivers/gd.c 2009-08-18 18:18:11 UTC (rev 10287) @@ -1532,13 +1532,22 @@ int im_size=0; void *im_ptr=NULL; size_t nwrite; + int jpeg_compression; if (pls->family || pls->page == 1) { + /* Set the compression/quality level for JPEG files + * The higher the value, the bigger/better the image is + */ + if ( (pls->dev_compression<=0)||(pls->dev_compression>99) ) + jpeg_compression=90; + else + jpeg_compression = pls->dev_compression; + /* image is written to output file by the driver since if the gd.dll is linked to a different c lib a crash occurs - this fix works also in Linux */ - /* gdImageJpeg(dev->im_out, pls->OutFile, pls->dev_compression); */ - im_ptr = gdImageJpegPtr(dev->im_out, &im_size, pls->dev_compression); + /* gdImageJpeg(dev->im_out, pls->OutFile, jpeg_compression); */ + im_ptr = gdImageJpegPtr(dev->im_out, &im_size, jpeg_compression); if( im_ptr ) { nwrite = fwrite(im_ptr, sizeof(char), im_size, pls->OutFile); if (nwrite != im_size) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |