index.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <?php
  2. /**
  3. * User: lang
  4. * Date: 2024/11/26
  5. * Time: 11:15
  6. */
  7. use Kkokk\Poster\Image\Gd\Canvas as GdCanvas;
  8. use Kkokk\Poster\Image\Gd\Image as GdImage;
  9. use Kkokk\Poster\Image\Gd\Text as GdText;
  10. use Kkokk\Poster\Image\Gd\ImageText as GdImageText;
  11. use Kkokk\Poster\Image\Imagick\Canvas as ImagickCanvas;
  12. use Kkokk\Poster\Image\Imagick\Image as ImagickImage;
  13. use Kkokk\Poster\Image\Imagick\Text as ImagickText;
  14. use Kkokk\Poster\Image\Imagick\ImageText as ImagickImageText;
  15. use Kkokk\Poster\Facades\Poster;
  16. require '../../vendor/autoload.php';
  17. $file = 'C:\\\\\\\\///Users\\\////32822\Pictures////\\\\\\\\\\' . '朝天门.jpg';
  18. // $file = 'https://img2.baidu.com/it/u=1310029438,409566289&fm=253&fmt=auto&app=138&f=JPEG?w=800&h=1541';
  19. $imageText = (new ImagickImageText())
  20. ->setMaxWidth(300)
  21. ->setFontAlign('left')
  22. ->addText((new ImagickText())
  23. ->setText("床前明月光,")
  24. ->setFontSize(16)
  25. ->setFontColor('#000000')
  26. )
  27. ->addText((new ImagickText())
  28. ->setText("疑似地上霜。")
  29. ->setFontSize(22)
  30. ->setFontColor('#00ff00')
  31. )
  32. ->addText((new ImagickText())
  33. ->setText("举头望明月,")
  34. ->setFontSize(12)
  35. ->setFontColor('#0000ff')
  36. )
  37. ->addText((new ImagickText())
  38. ->setText("低头思故乡。")
  39. ->setFontSize(28)
  40. ->setFontColor('#ff0000')
  41. ->setLineHeight(40)
  42. )
  43. ->addImage((new ImagickImage($file))->scale(50, 30))
  44. ->addText((new ImagickText())
  45. ->setText("这")
  46. ->setFontSize(28)
  47. ->setFontColor('#ff0000')
  48. )
  49. ->addText((new ImagickText())
  50. ->setText("是")
  51. ->setFontSize(16)
  52. ->setFontColor('#0000ff')
  53. )
  54. ->addText((new ImagickText())
  55. ->setText("图")
  56. ->setFontSize(22)
  57. ->setFontColor('#ff0000')
  58. );
  59. // $imageText = (new GdImageText())
  60. // ->setMaxWidth(300)
  61. // ->setFontAlign('left')
  62. // ->addText((new GdText())
  63. // ->setText("床前明月光,")
  64. // ->setFontSize(16)
  65. // ->setFontColor('#000000')
  66. // )
  67. // ->addText((new GdText())
  68. // ->setText("疑似地上霜。")
  69. // ->setFontSize(22)
  70. // ->setFontColor('#00ff00')
  71. // )
  72. // ->addText((new GdText())
  73. // ->setText("举头望明月,")
  74. // ->setFontSize(12)
  75. // ->setFontColor('#0000ff')
  76. // )
  77. // ->addText((new GdText())
  78. // ->setText("低头思故乡。")
  79. // ->setFontSize(28)
  80. // ->setFontColor('#ff0000')
  81. // ->setLineHeight(40)
  82. // )
  83. // ->addImage((new GdImage($file))->scale(50, 30))
  84. // ->addText((new GdText())
  85. // ->setText("图")
  86. // ->setFontSize(28)
  87. // ->setFontColor('#ff0000')
  88. // );
  89. $canvas = Poster::extension('imagick')
  90. ->config(['type' => 'png'])
  91. // ->buildImDst($file)
  92. ->buildBg(638, 826, [
  93. 'color' => [
  94. [255, 0, 0],
  95. [255, 125, 0],
  96. [255, 255, 0],
  97. [0, 255, 0],
  98. [0, 255, 255],
  99. [0, 0, 255],
  100. [255, 0, 255]
  101. ],
  102. 'alpha' => 50,
  103. 'to' => 'bottom',
  104. 'radius' => '40',
  105. ], true, 'center', 'center', 0, 0,
  106. function (\Kkokk\Poster\Image\Builder $builder) {
  107. // $builder->buildLine(10, 100, 100, 100, [0, 0, 0, 1]);
  108. // $builder->buildArc(100, 100, 100, 100, 0, 180, [0, 0, 0, 1]);
  109. // $builder->buildText('明月几时有,把酒问青天,不知天上宫阙,今夕是何年。', 10, 200, 28,
  110. // [0, 0, 0], 0, '', 6, 10);
  111. // $builder->buildText('明月几时有,把酒问青天,不知天上宫阙,今夕是何年。', 10, 40);
  112. $builder->buildQr('http://www.520yummy.com/poster-doc/guide/v3/', 'center', 'center');
  113. })
  114. ->buildText($imageText, 'center', 168);
  115. $canvas->stream();