From abc7edc3c8ad59ff213c85413d0d6a10d7a0b6f7 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Wed, 17 Dec 2025 18:03:09 +0800
Subject: [PATCH] 1.	发布供需消耗连盟币,连盟币数量在后台独立设置 2.	小程序供需个人中心可自由切换身份 3.	增加私信系统 4.	增加评论系统,用户可在发布者详情页进行评论操作,评论获得的连盟币可在后台设置 5.	增加发布者的等级,以好评个数为条件进行升级,小程序端会显示该等级的图标,如没有等级则不会显示图标 6.	增加设置消耗连盟币可以解锁、查看发布的信息,费用可在后台设置 7.	小程序供需大厅界面优化,以及增加了推荐栏目,该栏目按发布的分类相似进行匹配,比如A用户发布了 互联网 分类的需求,则会优先推荐匹配互联网分类的供应需求给他。

---
 admin/app/common/service/business/Poster.php |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

diff --git a/admin/app/common/service/business/Poster.php b/admin/app/common/service/business/Poster.php
index 2296aaa..1db14ca 100644
--- a/admin/app/common/service/business/Poster.php
+++ b/admin/app/common/service/business/Poster.php
@@ -253,10 +253,17 @@
         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);
     }
 
     /**
@@ -324,11 +331,11 @@
             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) {
@@ -529,9 +536,11 @@
      * @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;
     }
 

--
Gitblit v1.9.2