GD
latest
Functions for GD.
GD(1e)
NAME
gd - Functions for GD.
SYNOPSIS
gd_new gd_free gd_write gd_get_size gd_get_pixel gd_resize gd_crop
DESCRIPTION
These functions implement GD library within sncode.
To use this module, you must specify the following in /usr/local/website/site.conf:
Module gd { Library : "/usr/local/lib/libsngd.so" Init : "sngd_init" }
EXAMPLES
res=<{ %include "/includes/gd.sn"; remove("/html/images/print.jpg"); im=gd_new(width:1000,height:1000,bgcolor:Gray,truecolor:true); red = gd_get_color(gd:im, color:Red); cyan = gd_get_color(gd:im, color:Cyan); white = gd_get_color(gd:im, color:White); gd_ellipse(gd:im, cx:500,cy:500, width:100, color:Blue, height:100); gd_write(gd:im,format:"jpg",filename:"/html/images/print.jpg",quality:100); }>. res=<{ %include "/includes/gd.sn"; remove("/html/images/print.jpg"); im=gd_new(width:1000,height:1000,bgcolor:Gray,truecolor:true); red = gd_get_color(gd:im, color:Red); cyan = gd_get_color(gd:im, color:Cyan); white = gd_get_color(gd:im, color:White); gd_arc(gd:im, cx:500,cy:500, width:100, color:Blue, height:100, start_angle:0, end_angle:180); gd_arc(gd:im, cx:700,cy:700, width:100, color:Blue, height:100, start_angle:0, end_angle:180, filled:true, gdChord:true); gd_write(gd:im,format:"jpg",filename:"/html/images/print.jpg",quality:100); }> res=<{ %include "/includes/gd.sn"; remove("/html/images/print.jpg"); im=gd_new(width:1000,height:1000,bgcolor:Gray,truecolor:true); red = gd_get_color(gd:im, color:Red); cyan = gd_get_color(gd:im, color:Cyan); white = gd_get_color(gd:im, color:White); gd_polygon(gd:im, polygon:[ [10,10], [10, 500], [500, 500], [500, 10]], color:Yellow, thickness:2,filled:true); gd_polygon(gd:im, polygon:[ [40,40], [200,259], [332, 644], [500, 10], [700,700]], color:Red, thickness:1,closed:false); gd_write(gd:im,format:"jpg",filename:"/html/images/print.jpg",quality:100); }> res=<{ %include "/includes/gd.sn"; remove("/html/images/print.jpg"); im=gd_new(width:1000,height:1000,bgcolor:Gray,truecolor:true); red = gd_get_color(gd:im, color:Red); cyan = gd_get_color(gd:im, color:Cyan); white = gd_get_color(gd:im, color:White); cyan=5; a = [1,2,3,cyan,red,null]; gd_line(gd:im, x1:500, y1:000, x2:500,y2:1000, thickness:20, style:[1,2,3,cyan,red,null],coloridx:red); gd_write(gd:im,format:"jpg",filename:"/html/images/print.jpg",quality:100); }>. res=<{ %include "/includes/gd.sn"; remove("/html/images/print.jpg"); im=gd_new(width:1000,height:1000,bgcolor:Gray,truecolor:true); coral = gd_get_color(gd:im, color:Coral); cyan = gd_get_color(gd:im, color:Cyan); white = gd_get_color(gd:im, color:White); gd_line(gd:im, x1:500, y1:500, x2:500,y2:300, thickness:20, style:[coral,cyan,null,color,null,white],coloridx:white); gd_line(gd:im, x1:600, y1:600, x2:600,y2:0, thickness:20, style:[white,null],coloridx:white); gd_line(gd:im, x1:614, y1:600, x2:614,y2:0, thickness:20, coloridx:white); color = gd_get_color(gd:im, color:Yellow); for(i=0;i<1000;++i) gd_set_pixel(gd:im, x:i, y:i, coloridx: color); endfor void gd_print(gd:im, x:100, y:100, coloridx:color, str:"Version: 1", size:24); gd_line(gd:im, x1:-100, y1:-100, x2:200,y2:900, color:White); gd_line(gd:im, x1:500, y1:500, x2:300,y2:300, style:[coral,cyan,null,color,null,white]); gd_write(gd:im,format:"jpg",filename:"/html/images/print.jpg",quality:100); gd_free(im); -e "/html/images/print.jpg"; }>. res=<{ %include "/includes/gd.sn"; remove("/html/images/print.jpg"); im=gd_new(width:1000,height:1000,bgcolor:Blue,truecolor:true); gd_print(str:"pierre en été",gd:im,color:White,font:"/ttf/arial.ttf",x:100,y:100,size:24); gd_print(str:"pierre en été",gd:im,color:Yellow,font:"/ttf/bignoodle.ttf",x:100,y:200,size:24); gd_print(str:"pierre en été",gd:im,color:Green,font:"/ttf/bignoodle.ttf",x:100,y:300,size:24, angle:45); gd_print(str:"pierre en été\net en hiver",gd:im,color:Red,font:"/ttf/bignoodle.ttf",x:100,y:400,size:24, angle:5,linespacing:2); gd_print(str:printf("%d", 123gd:im,color:White,font:"/ttf/arial.ttf",x:100,y:600,size:24); gd_write(gd:im,format:"jpg",filename:"/html/images/print.jpg",quality:100); gd_free(im); -e "/html/images/print.jpg"; }>. res=<{ %include "/includes/gd.sn"; remove("/html/images/rot1.jpg"); remove("/html/images/rot2.jpg"); imsrc=gd_new(filename:"/html/images/20130708-1944-londres.jpg",truecolor:true); imdst=gd_new(width:1000,height:1000,bgcolor:Blue,truecolor:true); gd_merge(gdsrc:imsrc, gddst:imdst,srcx:400,srcy:400,srcw:800,srch:800,dstx:50,dsty:50,pourc:45,gray:true); gd_write(gd:imsrc,format:"jpg",filename:"/html/images/rot1.jpg"); gd_write(gd:imdst,format:"jpg",filename:"/html/images/rot2.jpg",quality:100); gd_free(imsrc); gd_free(imdst); -e "/html/images/rot1.jpg"; -e "/html/images/rot2.jpg"; }>. res=<{ %include "/includes/gd.sn"; remove("/html/images/rot1.jpg"); remove("/html/images/rot2.jpg"); imsrc=gd_new(filename:"/html/images/20130708-1944-londres.jpg",truecolor:true); imdst=gd_new(width:1000,height:1000,bgcolor:Blue,truecolor:true); gd_rotate(gdsrc:imsrc, gddst:imdst,srcx:400,srcy:400,srcw:800,srch:800,dstx:50,dsty:50,angle:45); gd_write(gd:imsrc,format:"jpg",filename:"/html/images/rot1.jpg"); gd_write(gd:imdst,format:"jpg",filename:"/html/images/rot2.jpg",quality:100); gd_free(imsrc); gd_free(imdst); -e "/html/images/rot1.jpg"; -e "/html/images/rot2.jpg"; }>. res=<{ remove("/html/images/resize1.gif"); remove("/html/images/resize2.gif"); remove("/html/images/resize3.gif"); im=gd_new(width:1000,height:1000,bgcolor:"#0000f0",truecolor:true); im2=gd_new(filename:"/html/images/20130708-1944-londres.jpg",truecolor:true); im3=gd_new(width:1000,height:1000,bgcolor:"#0000f0",truecolor:true); gd_resize(gdsrc:im2,gddst:im,dstx:50,dsty:50, dstw:800, dsth:800); gd_resampled(gdsrc:im2,gddst:im3,dstx:50,dsty:50, dstw:800, dsth:800); gd_write(gd:im,format:"gif",filename:"/html/images/resize1.gif"); gd_write(gd:im2,format:"gif",filename:"/html/images/resize2.gif"); gd_write(gd:im3,format:"gif",filename:"/html/images/resize3.gif"); gd_free(im); gd_free(im2); gd_free(im3); -e "/html/images/resize1.gif"; -e "/html/images/resize2.gif"; -e "/html/images/resize3.gif"; }>. res=<{ %include "/includes/gd.sn"; remove("/html/images/bg.gif"); im=gd_new(width:100,height:110,bgcolor:Yellow,truecolor:true); gd_write(gd:im, format:"gif", filename:"/html/images/bg.gif"); gd_get_size(im); gd_get_pixel(gd:im,x:0,y:0); gd_free(gd:im);}>. res=<{ %include "/includes/gd.sn"; remove("/html/images/crop1.jpg"); remove("/html/images/crop2.jpg"); remove("/html/images/crop3.jpg"); imsrc=gd_new(filename:"/html/images/20130708-1944-londres.jpg",truecolor:true); imdst=gd_new(width:1000,height:1000,bgcolor:Blue,truecolor:true); gd_write(gd:imdst,format:"jpg",filename:"/html/images/crop3.jpg"); gd_crop(gdsrc:imsrc, gddst:imdst,srcx:400,srcy:400,srcw:800,srch:800,dstx:50,dsty:50); gd_write(gd:imsrc,format:"jpg",filename:"/html/images/crop1.jpg"); gd_write(gd:imdst,format:"jpg",filename:"/html/images/crop2.jpg",quality:100); gd_free(imsrc); gd_free(imdst); -e "/html/images/crop1.jpg"; -e "/html/images/crop2.jpg"; }>. res=<{ remove("/html/images/crop1.gif"); remove("/html/images/crop2.gif"); im=gd_new(filename:"/html/images/20130708-1944-londres.jpg"); im2=gd_crop(gdsrc:im,bgcolor:"#F00BAF",transparent:"bgcolor",srcx:100,srcy:100,srcw:1000,srch:1000,truecolor:true); gd_write(gd:im,format:"gif",filename:"/html/images/crop1.gif"); gd_write(gd:im2,format:"gif",filename:"/html/images/crop2.gif"); gd_free(im); gd_free(im2); -e "/html/images/crop1.gif"; -e "/html/images/crop2.gif"; }>. res=<{ remove("/html/images/resize1.gif"); remove("/html/images/resize2.gif"); im=gd_new(width:1000,height:1000,bgcolor:"#0000f0"); im2=gd_new(filename:"/html/images/20130708-1944-londres.jpg"); gd_resize(gdsrc:im2,gddst:im,dstx:50,dsty:100, dstw:400, dsth:100); gd_resize(gdsrc:im2,gddst:im,dstx:50,dsty:400, dstw:400, dsth:100); gd_write(gd:im,format:"gif",filename:"/html/images/resize1.gif"); gd_write(gd:im2,format:"gif",filename:"/html/images/resize2.gif"); gd_free(im); gd_free(im2); -e "/html/images/resize1.gif"; -e "/html/images/resize2.gif"; }>. res=<{ remove("/html/images/resize1.gif"); remove("/html/images/resize2.gif"); im=gd_new(filename:"/html/images/20130708-1944-londres.jpg"); im2=gd_resize(gdsrc:im,bgcolor:"#F00BAF",transparent:"bgcolor",dstw:1600,dsth:50,truecolor:true); gd_write(gd:im,format:"gif",filename:"/html/images/resize1.gif"); gd_write(gd:im2,format:"gif",filename:"/html/images/resize2.gif"); gd_free(im); gd_free(im2); -e "/html/images/resize1.gif"; -e "/html/images/resize2.gif"; }>. res=<{ remove("/html/images/resize1.gif"); remove("/html/images/resize2.gif"); im=gd_new(filename:"/html/images/20130708-1944-londres.jpg"); im2=gd_resize(gdsrc:im,bgcolor:"#F00BAF",transparent:"bgcolor",dstw:160,truecolor:true); gd_write(gd:im,format:"gif",filename:"/html/images/resize1.gif"); gd_write(gd:im2,format:"gif",filename:"/html/images/resize2.gif"); gd_free(im); gd_free(im2); -e "/html/images/resize1.gif"; -e "/html/images/resize2.gif"; }>. res=<{ remove("/html/images/resize1.gif"); remove("/html/images/resize2.gif"); im=gd_new(filename:"/html/images/20130708-1944-londres.jpg"); im2=gd_resize(gdsrc:im,bgcolor:"#F00BAF",transparent:"bgcolor",pourc:40,truecolor:true); gd_write(gd:im,format:"gif",filename:"/html/images/resize1.gif"); gd_write(gd:im2,format:"gif",filename:"/html/images/resize2.gif"); gd_free(im); gd_free(im2); -e "/html/images/resize1.gif"; -e "/html/images/resize2.gif"; }>. res=<{gd_new();}>. return .*Parameters filename and width or height must be specify.* res=<{gd_new(width:100);}>. return .*Parameters filename and width or height must be specify.* res=<{gd_new(height:100);}>. return .*Parameters filename and width or height must be specify.* res=<{im=gd_new(width:100,height:100); gd_free(im);}>. return res=. res=<{im=gd_new(width:100,height:100); gd_free(1);}>. return .*Parameter 1 of type 1 is not valid in gd_free.* res=<{im=gd_new(width:100,height:100); gd_free(gd:im);}>. return res=. res=<{im=gd_new(filename:"ttoo.jpg"); gd_free(gd:im);}>. return .*No such file or directory.* res=<{im=gd_new(format:"xyz",filename:"/html/images/20130708-1944-londres.jpg"); gd_free(gd:im);}>. return .*Invalid format.* res=<{im=gd_new(filename:"/html/images/20130708-1944-londres.jpg"); gd_free(gd:im);}>. return res=. res=<{ remove("/html/images/copy1.jpg"); remove("/html/images/copy1.png"); remove("/html/images/copy1.gif"); im=gd_new(filename:"/html/images/20130708-1944-londres.jpg"); gd_write(gd:im,format:"jpg",filename:"/html/images/copy1.jpg"); gd_write(gd:im,format:"png",filename:"/html/images/copy1.png"); gd_write(gd:im,format:"gif",filename:"/html/images/copy1.gif"); gd_free(im); -e "/html/images/copy1.jpg"; -e "/html/images/copy1.png"; -e "/html/images/copy1.gif"; }>.
AUTHOR
Written by Pierre Laplante and Caroline Laplante, <laplante@sednove.com>