wrap.t
上传用户:qdrechuli
上传日期:2022-08-01
资源大小:917k
文件大小:2k
源码类别:

视频捕捉/采集

开发平台:

Visual C++

  1. BEGIN { $| = 1; print "1..13n"; }
  2. END {print "not ok 1n" unless $loaded;}
  3. use GD;
  4. use GD::Text::Wrap;
  5. $loaded = 1;
  6. print "ok 1n";
  7. $text = <<EOSTR;
  8. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, 
  9. sed diam nonummy nibh euismod tincidunt ut laoreet dolore 
  10. magna aliquam erat volutpat.
  11. EOSTR
  12. $i = 2;
  13. # Create a GD:Image object
  14. $gd = GD::Image->new(170,150);
  15. print 'not ' unless defined $gd;
  16. printf "ok %dn", $i++;
  17. # Allocate colours
  18. $gd->colorAllocate(255,255,255);
  19. $gd->colorAllocate(  0,  0,  0);
  20. print 'not ' unless $gd->colorsTotal == 2;
  21. printf "ok %dn", $i++;
  22. # Create a GD::Text::Wrap object
  23. $wp = GD::Text::Wrap->new($gd, text => $text);
  24. print 'not ' unless defined $wp;
  25. printf "ok %dn", $i++;
  26. $wp->set(align => 'left', width => 130);
  27. # Get the bounding box
  28. @bb = $wp->get_bounds(20,10);
  29. #print "$i: @bbn";
  30. print 'not ' unless "@bb" eq '20 10 150 128';
  31. printf "ok %dn", $i++;
  32. # Draw, and check that the result is the same
  33. @bb2 = $wp->draw(20,10);
  34. print 'not ' unless "@bb" eq "@bb2";
  35. printf "ok %dn", $i++;
  36. $wp->set(align => 'left');
  37. @bb2 = $wp->draw(20,10);
  38. print 'not ' unless "@bb" eq "@bb2";
  39. printf "ok %dn", $i++;
  40. $wp->set(align => 'justified');
  41. @bb2 = $wp->draw(20,10);
  42. print 'not ' unless "@bb" eq "@bb2";
  43. printf "ok %dn", $i++;
  44. $wp->set(align => 'right');
  45. @bb2 = $wp->draw(20,10);
  46. print 'not ' unless "@bb" eq "@bb2";
  47. printf "ok %dn", $i++;
  48. @bb = "20 10 150 143";
  49. $wp->set(preserve_nl => 1);
  50. @bb2 = $wp->draw(20,10);
  51. #print "$i: @bb2n";
  52. print 'not ' unless "@bb" eq "@bb2";
  53. printf "ok %dn", $i++;
  54. $wp->set(preserve_nl => 0);
  55. # TTF
  56. if ($wp->can_do_ttf)
  57. {
  58. $rc = $wp->set_font('cetus.ttf', 10);
  59. print 'not ' unless $rc;
  60. printf "ok %dn", $i++;
  61. # Get the bounding box
  62. @bb = $wp->get_bounds(20,10);
  63. #print "$i: @bbn";
  64. print 'not ' unless "@bb" eq '20 10 150 170';
  65. printf "ok %dn", $i++;
  66. @bb2 = $wp->draw(20,10);
  67. print 'not ' unless "@bb" eq "@bb2";
  68. printf "ok %dn", $i++;
  69. }
  70. else
  71. {
  72. for (1 .. 3) { printf "ok %d # Skipn", $i++ };
  73. }
  74. __END__
  75. #Only here to test the test.
  76. open(GD, '>/tmp/wrap.png') or die $!;
  77. binmode GD;
  78. print GD $gd->png();
  79. close GD;