Linux ns1.utparral.edu.mx 6.8.0-79-generic #79~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 15 16:54:53 UTC 2 x86_64
Apache/2.4.58 (Unix) OpenSSL/1.1.1w PHP/8.2.12 mod_perl/2.0.12 Perl/v5.34.1
: 10.10.1.9 | : 10.10.1.254
Cant Read [ /etc/named.conf ]
daemon
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
README
+ Create Folder
+ Create File
/
usr /
share /
doc /
libcairo-perl /
examples /
png /
[ HOME SHELL ]
Name
Size
Permission
Action
bevels.pl
6
KB
-rw-r--r--
caps_joins.pl
1.41
KB
-rw-r--r--
hering.pl
1.15
KB
-rw-r--r--
outline.pl
2.07
KB
-rw-r--r--
README
165
B
-rw-r--r--
snapping.pl
9.08
KB
-rw-r--r--
spiral.pl
895
B
-rw-r--r--
spline-pipeline.pl
2.46
KB
-rw-r--r--
splines_tolerance.pl
1018
B
-rw-r--r--
star_and_ring.pl
4.62
KB
-rw-r--r--
stars.pl
1.06
KB
-rw-r--r--
text.pl
3.12
KB
-rw-r--r--
text-rotate.pl
1.85
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : spline-pipeline.pl
#!/usr/bin/perl use strict; use warnings; use Cairo; use constant { LINE_WIDTH => 13, }; sub spline_path { my ($cr) = @_; $cr->save; { $cr->translate (-106.0988385, -235.84433); $cr->move_to (49.517857, 235.84433); $cr->curve_to (86.544809, 175.18401, 130.19603, 301.40165, 162.67982, 240.42946); } $cr->restore; } sub source_path { my ($cr) = @_; spline_path ($cr); $cr->set_line_width (1); $cr->stroke; } sub stroke { my ($cr) = @_; spline_path ($cr); $cr->set_line_width (LINE_WIDTH); $cr->stroke; } sub scale_both_set_line_width_stroke { my ($cr) = @_; $cr->scale (0.5, 0.5); spline_path ($cr); $cr->set_line_width (LINE_WIDTH); $cr->stroke; } sub scale_both_set_line_width_double_stroke { my ($cr) = @_; $cr->scale (0.5, 0.5); spline_path ($cr); $cr->set_line_width (2 * LINE_WIDTH); $cr->stroke; } sub save_scale_path_restore_set_line_width_stroke { my ($cr) = @_; $cr->save; { $cr->scale (0.5, 1.0); spline_path ($cr); } $cr->restore; $cr->set_line_width (LINE_WIDTH); $cr->stroke; } # XXX: Ouch. It looks like there's an API bug in the implemented semantics for # cairo_set_line_width. I believe the following function # (set_line_width_scale_path_stroke_BUGGY) should result in a figure identical # to the version above it (save_scale_path_restore_set_line_width_stroke), but # it's currently giving the same result as the one beloe # (scale_path_set_line_width_stroke). sub set_line_width_scale_path_stroke_BUGGY { my ($cr) = @_; $cr->set_line_width (LINE_WIDTH); $cr->scale (0.5, 1.0); spline_path ($cr); $cr->stroke; } sub scale_path_set_line_width_stroke { my ($cr) = @_; $cr->scale (0.5, 1.0); $cr->set_line_width (LINE_WIDTH); spline_path ($cr); $cr->stroke; } { my @pipelines = ( \&source_path, \&stroke, \&scale_both_set_line_width_stroke, \&scale_both_set_line_width_double_stroke, \&save_scale_path_restore_set_line_width_stroke, \&scale_path_set_line_width_stroke, ); my $width = 140; my $height = 68.833 * scalar @pipelines; my $surface = Cairo::ImageSurface->create ('argb32', $width, $height); my $cr = Cairo::Context->create ($surface); foreach (0 .. $#pipelines) { $cr->save; { $cr->translate ($width/2, ($_+0.5)*($height/scalar @pipelines)); $pipelines[$_]->($cr); } $cr->restore; if ($cr->status ne 'success') { warn "Cairo is unhappy after pipeline #$_: " . $cr->status . "\n"; exit 1; } } $surface->write_to_png ('spline-pipeline.png'); }
Close