| | |
| | | imagesavealpha($targetImage, true); |
| | | $bg = imagecolorallocatealpha($targetImage, 255, 255, 255, 127); |
| | | imagefill($targetImage, 0, 0, $bg); |
| | | imagecopyresampled($targetImage, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); |
| | | imagepng($targetImage, $imageUrl,0); // 根据需要选择合适的函数(如imagepng、imagegif等) |
| | | imagecopyresampled($targetImage, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); // 保存时使用最高质量 |
| | | $ext = pathinfo($imageUrl, PATHINFO_EXTENSION); |
| | | if ($ext == 'png'){ |
| | | imagepng($targetImage, $imageUrl,0); // 根据需要选择合适的函数(如imagepng、imagegif等) |
| | | }else{ |
| | | imagejpeg($targetImage, $imageUrl,100); |
| | | } |
| | | |
| | | // 清理内存 |
| | | imagedestroy($targetImage); |
| | | imagedestroy($image); |
| | | } |
| | | |
| | | /** |
| | |
| | | while ($width < ($titleNum * $this->config['address'][0]['fontSize'] + $the_box + $fontX)) { |
| | | $titleNum--; |
| | | }; |
| | | if ($strlen > $titleNum && $titleNum) { |
| | | if ($strlen > $titleNum && $titleNum>0) { |
| | | $strArr = self::mbStrSplit($title, $titleNum); |
| | | } |
| | | $colorResource=self::colorResource($this->config['address'][0]['color'],$editor); |
| | | if ($strlen > $titleNum && $titleNum) { |
| | | if ($strlen > $titleNum && $titleNum>0) { |
| | | $y = $fontY + 10; |
| | | foreach ($strArr as $k => $v) { |
| | | if ($k == 0) { |
| | |
| | | * @return array |
| | | */ |
| | | private function SizeLeftTop($fontSize,$left,$top){ |
| | | $data[0] = $fontSize * 0.76; |
| | | $data[1] = $left; |
| | | $data[2] = $top + $fontSize; |
| | | // 正确的px到pt转换系数:1px = 0.75pt |
| | | // 使用0.75而不是0.76以确保字体大小显示准确 |
| | | $data[0] = $fontSize * 0.75; |
| | | $data[1] = (float)$left; |
| | | $data[2] = (float)$top + $fontSize; |
| | | return $data; |
| | | } |
| | | |