#!/usr/bin/perleval'exec/usr/bin/perl-S$0${1+"$@"}'if0;#notrunningundersomeshell#pcg@goof.comuseGimp;useGimp::Fu;useGimp::UI;useFcntl;my%replace=("&"=>"&","
<"=>"<",">"=>">",);#readsomefile,maketextoutofitsubread_text{my$fh=shift;local$/;my$data=<$fh>;$data;}register"file_colorhtml_save","Savestheimageascolour
edhtmltext","=pod","MarcLehmann","MarcLehmann<pcg\@goof.com>","1999-11-22","<Save>/COLORHTML","*",[[PF_RADIO,"character_source","wheretotakethecharactersfrom",0
,[sourcecode=>0,textfile=>1,filename=>2]],[PF_FILE,"characters","thefilenametoreadorthecharacterstouse",""],[PF_STRING,"font_size","thehtmlfontsize(1..7or-7..+7
)",2],[PF_BOOL,"compatible","html-4.0compliancy?",1],[PF_BOOL,"closetag","addclosingtag?",1],],sub{my($img,$drawable,$filename,$filename2,$source,$text,$size,$h
tml40,$closetag)=@_;my($new_img,$new_drawable);my$max;my$export=Gimp::UI::export_image($new_img=$img,$new_drawable=$drawable,"COLORHTML",EXPORT_CAN_HANDLE_RGB);
die__"exportfailed"if$export==EXPORT_CANCEL;my($w,$h)=($new_drawable->width,$new_drawable->height);Gimp->tile_cache_ntiles($w/Gimp->tile_width+1);sysopenFILE,$f
ilename,O_CREAT|O_TRUNC|O_WRONLYordie__"Unabletoopen'$filename'forwriting:$!\n";my$data;if($source==0){seekDATA,0,0;$data=read_text*DATA;}elsif($source==1){loca
l*FILE;openFILE,"<$text"ordie"$text:$!\n";$data=read_text*FILE;}elsif($source==2){$data=$text;}my@data;$data=~y/\x21-\x7f//cd;@data=split//,$data;for(@data){s/(
[&<>])/$replace{$1}/e;}@data=("X")x80unless@data;my@chars;my$region=$new_drawable->pixel_rgn(0,0,$w,$h,0,0);initProgress__"Saving'$filename'asCOLORHTML...";$clo
setag=$closetag?"</font>":"";printFILE"<html><bodybgcolor=black>\n<fontsize=\"$size\"><pre>\n";for(my$y=0;$y<$h;$y++){my$pel=$region->get_row2(0,$y,$w);push@cha
rs,@datawhile@chars<$w;if($html40){$pel=~s{(...)}{"<fontcolor=\"#".unpack("H*",$1)."\">".shift(@chars).$closetag;}ges;}else{$pel=~s{(...)}{"<fontcolor=".unpack(
"H*",$1).">".shift(@chars).$closetag;}ges;}printFILE$pel,"\n";updateProgress$y/$h;}printFILE"</pre>\n</html>\n";$new_img->deleteif$export==EXPORT_EXPORT;();};Gi
mp::on_query{Gimp->register_save_handler("file_colorhtml_save","colorhtml","");};exitmain;=head1COLORHTMLFILEFORMATThisfilesavefilterwritesalargeregulargridfill
edwithcolouredcharacters.Thecharacterscanbestoredinfileanddon'thaveanythingtodowiththeimage.Thecolourofeachcharacter,though,istakenfromtheimagetosave.Thiscreate
ssomekindofmosaiceffectwithcharacters.Thepicturesshouldbelimitedtoabout120x120pixels,sincemostbrowsersdonotviewlargerimages.Theaspectratiodependsonthefixed-widt
hfontthebrowserisusing,andisusuallyaround2:1(soyoushouldsquashyourimageaccordingly).TheFONTtagscanbesavedeitherHTML-4.0compliant(C<fontcolor="#rrggbb">)orinapro
prietaryformatmostbrowserssupport(C<fontcolor=rrggbb>).Tosaveevenmorespaceyoucanleaveouttheclosingtag(C</font>),butthiswillpotentiallyleavethousandsoffontelemen
tsopeninthebrowser,andwilldisturbthecurrentfontcolour.=cut__END__#!/usr/bin/perleval'exec/usr/bin/perl-S$0${1+"$@"}'if0;#notrunningundersomeshell#pcg@goof.comus
eGimp;useGimp::Fu;useGimp::UI;useFcntl;my%replace=("&"=>"&","<"=>"<",">"=>">",);#readsomefile,maketextoutofitsubread_text{my$fh=shift;local$/;my$data=
<$fh>;$data;}register"file_colorhtml_save","Savestheimageascolouredhtmltext","=pod","MarcLehmann","MarcLehmann<pcg\@goof.com>","1999-11-22","<Save>/COLORHTML","
*",[[PF_RADIO,"character_source","wheretotakethecharactersfrom",0,[sourcecode=>0,textfile=>1,filename=>2]],[PF_FILE,"characters","thefilenametoreadorthecharacte
rstouse",""],[PF_STRING,"font_size","thehtmlfontsize(1..7or-7..+7)",2],[PF_BOOL,"compatible","html-4.0compliancy?",1],[PF_BOOL,"closetag","addclosingtag?",1],],
sub{my($img,$drawable,$filename,$filename2,$source,$text,$size,$html40,$closetag)=@_;my($new_img,$new_drawable);my$max;my$export=Gimp::UI::export_image($new_img
=$img,$new_drawable=$drawable,"COLORHTML",EXPORT_CAN_HANDLE_RGB);die__"exportfailed"if$export==EXPORT_CANCEL;my($w,$h)=($new_drawable->width,$new_drawable->heig
ht);Gimp->tile_cache_ntiles($w/Gimp->tile_width+1);sysopenFILE,$filename,O_CREAT|O_TRUNC|O_WRONLYordie__"Unabletoopen'$filename'forwriting:$!\n";my$data;if($sou
rce==0){seekDATA,0,0;$data=read_text*DATA;}elsif($source==1){local*FILE;openFILE,"<$text"ordie"$text:$!\n";$data=read_text*FILE;}elsif($source==2){$data=$text;}
my@data;$data=~y/\x21-\x7f//cd;@data=split//,$data;for(@data){s/([&<>])/$replace{$1}/e;}@data=("X")x80unless@data;my@chars;my$region=$new_drawable->pixel_rgn(0,
0,$w,$h,0,0);initProgress__"Saving'$filename'asCOLORHTML...";$closetag=$closetag?"</font>":"";printFILE"<html><bodybgcolor=black>\n<fontsize=\"$size\"><pre>\n";
for(my$y=0;$y<$h;$y++){my$pel=$region->get_row2(0,$y,$w);push@chars,@datawhile@chars<$w;if($html40){$pel=~s{(...)}{"<fontcolor=\"#".unpack("H*",$1)."\">".shift(
@chars).$closetag;}ges;}else{$pel=~s{(...)}{"<fontcolor=".unpack("H*",$1).">".shift(@chars).$closetag;}ges;}printFILE$pel,"\n";updateProgress$y/$h;}printFILE"</
pre>\n</html>\n";$new_img->deleteif$export==EXPORT_EXPORT;();};Gimp::on_query{Gimp->register_save_handler("file_colorhtml_save","colorhtml","");};exitmain;=head
1COLORHTMLFILEFORMATThisfilesavefilterwritesalargeregulargridfilledwithcolouredcharacters.Thecharacterscanbestoredinfileanddon'thaveanythingtodowiththeimage.The
colourofeachcharacter,though,istakenfromtheimagetosave.Thiscreatessomekindofmosaiceffectwithcharacters.Thepicturesshouldbelimitedtoabout120x120pixels,sincemostb
rowsersdonotviewlargerimages.Theaspectratiodependsonthefixed-widthfontthebrowserisusing,andisusuallyaround2:1(soyoushouldsquashyourimageaccordingly).TheFONTtags
canbesavedeitherHTML-4.0compliant(C<fontcolor="#rrggbb">)orinaproprietaryformatmostbrowserssupport(C<fontcolor=rrggbb>).Tosaveevenmorespaceyoucanleaveouttheclos
ingtag(C</font>),butthiswillpotentiallyleavethousandsoffontelementsopeninthebrowser,andwilldisturbthecurrentfontcolour.=cut__END__#!/usr/bin/perleval'exec/usr/b
in/perl-S$0${1+"$@"}'if0;#notrunningundersomeshell#pcg@goof.comuseGimp;useGimp::Fu;useGimp::UI;useFcntl;my%replace=("&"=>"&","<"=>"<",">"=>">",);#read
somefile,maketextoutofitsubread_text{my$fh=shift;local$/;my$data=<$fh>;$data;}register"file_colorhtml_save","Savestheimageascolouredhtmltext","=pod","MarcLehman
n","MarcLehmann<pcg\@goof.com>","1999-11-22","<Save>/COLORHTML","*",[[PF_RADIO,"character_source","wheretotakethecharactersfrom",0,[sourcecode=>0,textfile=>1,fi
lename=>2]],[PF_FILE,"characters","thefilenametoreadorthecharacterstouse",""],[PF_STRING,"font_size","thehtmlfontsize(1..7or-7..+7)",2],[PF_BOOL,"compatible","h
tml-4.0compliancy?",1],[PF_BOOL,"closetag","addclosingtag?",1],],sub{my($img,$drawable,$filename,$filename2,$source,$text,$size,$html40,$closetag)=@_;my($new_im
g,$new_drawable);my$max;my$export=Gimp::UI::export_image($new_img=$img,$new_drawable=$drawable,"COLORHTML",EXPORT_CAN_HANDLE_RGB);die__"exportfailed"if$export==
EXPORT_CANCEL;my($w,$h)=($new_drawable->width,$new_drawable->height);Gimp->tile_cache_ntiles($w/Gimp->tile_width+1);sysopenFILE,$filename,O_CREAT|O_TRUNC|O_WRON
LYordie__"Unabletoopen'$filename'forwriting:$!\n";my$data;if($source==0){seekDATA,0,0;$data=read_text*DATA;}elsif($source==1){local*FILE;openFILE,"<$text"ordie"
$text:$!\n";$data=read_text*FILE;}elsif($source==2){$data=$text;}my@data;$data=~y/\x21-\x7f//cd;@data=split//,$data;for(@data){s/([&<>])/$replace{$1}/e;}@data=(
"X")x80unless@data;my@chars;my$region=$new_drawable->pixel_rgn(0,0,$w,$h,0,0);initProgress__"Saving'$filename'asCOLORHTML...";$closetag=$closetag?"</font>":"";p
rintFILE"<html><bodybgcolor=black>\n<fontsize=\"$size\"><pre>\n";for(my$y=0;$y<$h;$y++){my$pel=$region->get_row2(0,$y,$w);push@chars,@datawhile@chars<$w;if($htm
l40){$pel=~s{(...)}{"<fontcolor=\"#".unpack("H*",$1)."\">".shift(@chars).$closetag;}ges;}else{$pel=~s{(...)}{"<fontcolor=".unpack("H*",$1).">".shift(@chars).$cl
osetag;}ges;}printFILE$pel,"\n";updateProgress$y/$h;}printFILE"</pre>\n</html>\n";$new_img->deleteif$export==EXPORT_EXPORT;();};Gimp::on_query{Gimp->register_sa
ve_handler("file_colorhtml_save","colorhtml","");};exitmain;=head1COLORHTMLFILEFORMATThisfilesavefilterwritesalargeregulargridfilledwithcolouredcharacters.Thech
aracterscanbestoredinfileanddon'thaveanythingtodowiththeimage.Thecolourofeachcharacter,though,istakenfromtheimagetosave.Thiscreatessomekindofmosaiceffectwithcha
racters.Thepicturesshouldbelimitedtoabout120x120pixels,sincemostbrowsersdonotviewlargerimages.Theaspectratiodependsonthefixed-widthfontthebrowserisusing,andisus
uallyaround2:1(soyoushouldsquashyourimageaccordingly).TheFONTtagscanbesavedeitherHTML-4.0compliant(C<fontcolor="#rrggbb">)orinaproprietaryformatmostbrowserssupp
ort(C<fontcolor=rrggbb>).Tosaveevenmorespaceyoucanleaveouttheclosingtag(C</font>),butthiswillpotentiallyleavethousandsoffontelementsopeninthebrowser,andwilldist