version 1.21, 2004/09/09 07:24:56
|
version 1.23, 2005/02/23 15:51:48
|
Line 26
|
Line 26
|
# |
# |
# http://www.lon-capa.org/ |
# http://www.lon-capa.org/ |
# |
# |
### |
|
|
=pod |
|
|
|
=head1 Syntax of randomlylabel commands |
|
|
|
=over 4 |
|
|
|
=item BGIMG |
|
|
|
/home/... file or href (href must contain http://...) |
|
Expected to be HTTP escaped |
|
|
|
=item OBJCOUNT |
|
|
|
a number |
|
|
|
=item OBJTYPE |
|
|
|
a colon seperated list of types, supported types are |
|
|
|
B<LINE> B<RECTANGLE> B<POLYGON> B<ARC> B<FILL> B<IMAGE> B<LABEL> |
|
|
|
=item OBJI<num> |
|
|
|
arguments for this OBJ |
|
|
|
some common arguments are |
|
|
|
=over 4 |
|
|
|
=item x y thickness |
|
|
|
are pixel values |
|
|
|
=item color |
|
|
|
a hexstring, without with out a leading # or x) |
|
|
|
=item filled |
|
|
|
boolean, (1 or 0) |
|
|
|
=back |
|
|
|
The argumants for the possible object types are |
|
|
|
=over 4 |
|
|
|
=item LINE |
|
|
|
x1:y1:x2:y2:color:thickness |
|
|
|
=item RECTANGLE |
|
|
|
x1:y1:x2:y2:color:thickness:filled |
|
|
|
=item ARC |
|
|
|
x:y:width:height:start:end:color:thickness:filled |
|
|
|
=over 4 |
|
|
|
=item start, end |
|
|
|
start and ends of the arc (in degrees) |
|
|
|
=back |
|
|
|
=item FILL |
|
|
|
x:y:color |
|
|
|
=item IMAGE |
|
|
|
x:y:file:transparent:srcX:srcY:destW:destH:srcW:srcH |
|
|
|
=over 4 |
|
|
|
=item srcX,srcY,srcW,srcH |
|
|
|
the start and extant of the region in file to copy to x,y with width/height |
|
destW destH |
|
|
|
=back |
|
|
|
=item LABEL |
|
|
|
x:y:text:font:color:direction |
|
|
|
=over 4 |
|
|
|
=item text |
|
|
|
HTTP escaped string of the text to place on the image |
|
|
|
=item font |
|
|
|
one of B<tiny>, B<small>, B<medium>, B<large>, B<giant>, or an |
|
installed TTF font and point size |
|
|
|
=item direction |
|
|
|
either B<horizontal> or B<vertical> |
|
|
|
=back |
|
|
|
=item POLYGON |
|
|
|
color:width:open:filled |
|
|
|
=over 4 |
|
|
|
=item open |
|
|
|
boolean, (1 or 0) |
|
|
|
=back |
|
|
|
=back |
|
|
|
|
|
=item OBJEXTRAI<num> |
|
|
|
extra arguments for object I<num> |
|
|
|
The possible values for this for the different object types are |
|
|
|
=over 4 |
|
|
|
=item POLYGON |
|
|
|
a list of coords in the form |
|
|
|
(x,y)-(x,y)-(x,y) |
|
|
|
(there can be arbitrarily many of these) |
|
|
|
=back |
|
|
|
=back |
|
|
|
=head1 Example |
|
|
|
BGIMG=file |
|
OBJTYPE=LINE:LINE:LINE:LINE |
|
OBJCOUNT=4 |
|
OBJ0=xmin:ymin:xmax:ymax:FFFFFF:3 |
|
OBJ1=xmin:ymax:xmax:ymin:FFFFFF:3 |
|
OBJ2=xmin:ymin:xmax:ymax:FF0000:1 |
|
OBJ3=xmin:ymax:xmax:ymin:FF0000:1 |
|
|
|
=cut |
|
|
package Apache::randomlylabel; |
package Apache::randomlylabel; |
|
|
Line 86 sub get_image {
|
Line 237 sub get_image {
|
sub get_color_from_hexstring { |
sub get_color_from_hexstring { |
my ($image,$color)=@_; |
my ($image,$color)=@_; |
if (!$color) { $color='000000'; } |
if (!$color) { $color='000000'; } |
|
$color=~s/^[x\#]//; |
my (undef,$red,undef,$green,undef,$blue)=split(/(..)/,$color); |
my (undef,$red,undef,$green,undef,$blue)=split(/(..)/,$color); |
$red=hex($red);$green=hex($green);$blue=hex($blue); |
$red=hex($red);$green=hex($green);$blue=hex($blue); |
my $imcolor; |
my $imcolor; |