php GD库的使用
admin
2023-06-29 05:02:19
0
 $width ) {
    $dstHeight = $srcH * ($width / $srcW);
    // 新建一个真彩***像
    $dst = p_w_picpathcreatetruecolor( $width, $dstHeight );
    p_w_picpathcopyresampled($dst, $src,  0, 0, 0, 0, $width, $dstHeight, $srcW, $srcH);
    $src = $dst; 
    // 更新原图的宽度和高度
    $srcW = $width;
    $srcH = $dstHeight;
  }
  else {
    // 没有调整宽度
    $width = $srcW;
  }
  
  // 图片的高度大于$height切成多张图片
  if( $srcH > $height ) {
    // 切割的高度位置
    $srcY = 0;
    do {
      $dstHeight = ($srcY + $height > $srcH) ? ($srcH - $srcY) : ($height);
      $dst = p_w_picpathcreatetruecolor( $width, $dstHeight );
      p_w_picpathcopyresampled($dst, $src,  0, 0, 0, $srcY, $width, $dstHeight, $width, $dstHeight);
      $filePath = './img/' . md5(microtime(true)) . '.jpg';
      $imgPaths[] = $filePath;
      ImageJpeg($dst, $filePath);
      is_resource($dst) and p_w_picpathdestroy($dst);
      $srcY += $dstHeight;
    }while($srcY < $srcH);
  }
  else {
    // 如果高度符合 则将调整了原图(也有可能是调整了宽度之后的)保存为文件
    $filePath = './img/' . md5(microtime(true)) . '.jpg';
    $imgPaths[] = $filePath;
    ImageJpeg($src, $filePath);
  }

  // 释放内存
  isset($src) and is_resource($src) and p_w_picpathdestroy($src);
  isset($dst) and is_resource($dst) and p_w_picpathdestroy($dst);

  return $imgPaths;
}

/**
 * 调整图片清晰度
 * @param string $path  图片路径
 * @param string $quality 清晰度
 * @return string 新的图片路径
 */
function reQuality( $path, $quality ) {
    $p_w_picpath_type = p_w_picpath_type_to_extension(exif_p_w_picpathtype($path), false);
    $fun = "p_w_picpathcreatefrom{$p_w_picpath_type}";
    $src = $fun($path);
    $newPath = generateUniqueFilePath('./img/');
    ImageJpeg($src, $newPath, $quality);
    return $newPath;
}

/**
 * 生成唯一的文件路径
 * @param $basePath string 文件夹路径
 * @param $suffix string
 * @return string 文件路径
 */
function generateUniqueFilePath($basePath, $suffix='.jpg') {
  $filePath = $basePath . md5(microtime(true)) . $suffix;
  return $filePath;
}

header('Content-Type:p_w_picpath/png');

$path = './img/jjj.jpg';
$imgPaths = imgResize($path, 10000, 10000);
// reQuality($path, 1);


相关内容

热门资讯

多所高校撤销外语学院 人工智能的发展及其他因素的影响下,外语类专业面临挑战,近年来一些高校对外语学院进行调整、重组。近日,...
解放军少将质问日方:有没有资格... 【环球时报-环球网报道 记者 郭媛丹 苏雅瑄】 “殷鉴不远,今天的世界又处在新的十字路口,我们必须警...
《给阿嬷的情书》导演被网友二创... 《给阿嬷的情书》这段解读直接破防!网友二创还原木生守桥的画面,把邮差落水,弄丢写有真相的讣告信件,解...
伊朗最高领袖顾问批特朗普背弃外... 据凤凰卫视报道,美伊谈判前景不明,伊朗最高领袖顾问雷扎伊5月30日指责美国总统特朗普第三次背弃外交原...
免去南开大学陈某院长、中山大学... 刚刚,南开大学和中山大学发布情况通报。南开大学:免去陈某院长职务南开大学通报中指出,论文第一作者郑某...
绿色算力全栈AI平台在呼和浩特...   新华社呼和浩特5月30日电(记者侯维轶)30日,绿色算力全栈AI平台——内蒙古词元交易平台在内蒙...
北京太空智算研究院在北京亦庄成... 红星资本局5月30日消息,近日,北京太空智算研究院在北京经济技术开发区(简称“北京经开区”,又称“北...
第二届西部医学科技创新学术大会... 封面新闻记者 邱添 2026年5月30日,在第十个全国科技工作者日来临之际,一场汇聚医学前沿智慧与创...
地博光电取得存储自动化料库专利... 国家知识产权局信息显示,昆山地博光电材料有限公司取得一项名为“一种存储自动化料库”的专利,授权公告号...
香港政务司司长谈黎家盈:香港由... 据凤凰卫视报道,首位来自香港的载荷专家黎家盈早前随神舟二十三号载人飞船升空。香港政务司司长陈国基表示...