马特,

如果你使你的png与黑色背景上的椭圆形白色填充,而不是黑色填充透明背景下面的功能它。

// Load source and mask

$source = imagecreatefrompng( '1.png' );

$mask = imagecreatefrompng( '2.png' );

// Apply mask to source

imagealphamask( $source, $mask );

// Output

header( "Content-type: image/png");

imagepng( $source );

function imagealphamask( &$picture, $mask ) {

// Get sizes and set up new picture

$xSize = imagesx( $picture );

$ySize = imagesy( $picture );

$newPicture = imagecreatetruecolor( $xSize, $ySize );

imagesavealpha( $newPicture, true );

imagefill( $newPicture, 0, 0, imagecolorallocatealpha( $newPicture, 0, 0, 0, 127 ) );

// Resize mask if necessary

if( $xSize != imagesx( $mask ) || $ySize != imagesy( $mask ) ) {

$tempPic = imagecreatetruecolor( $xSize, $ySize );

imagecopyresampled( $tempPic, $mask, 0, 0, 0, 0, $xSize, $ySize, imagesx( $mask ), imagesy( $mask ) );

imagedestroy( $mask );

$mask = $tempPic;

}

// Perform pixel-based alpha map application

for( $x = 0; $x < $xSize; $x++ ) {

for( $y = 0; $y < $ySize; $y++ ) {

$alpha = imagecolorsforindex( $mask, imagecolorat( $mask, $x, $y ) );

$alpha = 127 - floor( $alpha[ 'red' ] / 2 );

$color = imagecolorsforindex( $picture, imagecolorat( $picture, $x, $y ) );

imagesetpixel( $newPicture, $x, $y, imagecolorallocatealpha( $newPicture, $color[ 'red' ], $color[ 'green' ], $color[ 'blue' ], $alpha ) );

}

}

// Copy back to original picture

imagedestroy( $picture );

$picture = $newPicture;

}

?>

php image mask,PHP GD使用一个图像来遮蔽另一个图像,包括透明度相关推荐

  1. 一个关于卷积神经网络应用于图像语义分割的PPT

    转自:https://yhlleo.github.io/2016/10/19/CNN-SemanticSeg/ 把前段时间自己整理的一个关于卷积神经网络应用于图像语义分割的PPT整理发布在本篇博客内, ...

  2. R语言使用magick包的image_animate函数和image_morph函数创建一个由n个图像组成的序列,逐渐将一个图像转换成另一个图像(sequence of image morph by)

    R语言使用magick包的image_animate函数和image_morph函数创建一个由n个图像组成的序列,逐渐将一个图像转换成另一个图像(Creates a sequence of n ima ...

  3. ITK:将图像粘贴到另一个

    ITK:将图像粘贴到另一个 内容提要 输出结果 C++实现代码 内容提要 将一个itk :: Image粘贴到另一个 输出结果 C++实现代码 #include "itkImageFileR ...

  4. ITK:使用地标将图像注册到另一个图像

    ITK:使用地标将图像注册到另一个图像 内容提要 输出结果 C++实现代码 内容提要 使用手动指定的地标将一个图像刚性注册到另一个图像. 输出结果 C++实现代码 #include "itk ...

  5. 获取32R的图像的直方图的一个算法

    朱金灿 在求非8U类型的图像数据的直方图时一般采用拉伸到0到255范围.但是这样做的一个很大弊端是造成图像信息丢失(因为从0到几万拉伸到0到255,信息丢失是肯定的). 为了防止信息丢失,现在需要在不 ...

  6. python显示图片_python 一个figure上显示多个图像的实例

    方法一:主要是inshow()函数的使用 首先基本的画图流程为: import matplotlib.pyplot as plt #创建新的figure fig = plt.figure() #必须通 ...

  7. 一个用java演示的产生图像烟花的算法

    以下是一个用java演示的产生图像烟花的算法,可以用来研究以下相关的东西.希望对有兴趣的朋友有用. import   java.applet.AudioClip; import   java.awt. ...

  8. python使用爬虫写一个自己的翻译器(带图像界面)

    python使用爬虫写一个自己的翻译器(带图像界面)   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博客地址为:亓官劼的博客,B站昵称为 ...

  9. 四步快速配置一个简单高效的文本生成图像基准模型 T2I baseline

    本文将介绍一个简单高效的文本生成图像基准模型,该基准模型是DF-GAN20版代码,清楚简单,实用性高,本基准模型代码在他的基础上经过少量简化和处理,虚拟环境也进行了打包,非常适合作为一个基线模型,然后 ...

最新文章

  1. 一直被喷不实用的超算 在深度学习时代会改变吗?
  2. truncate报ORA-02266错“唯一/主键被启用的外部关键字引用”解决方法
  3. 迭代最近点算法 Iterative Closest Points
  4. jQuery获得select的值及其他操作
  5. python使用BytesIO或StringIO读写文件
  6. android中的oom,Android OOM Adjustments
  7. SpringMVC 统一异常处理
  8. Crystal Ball—甲骨文水晶球风险管理软件(概念以及实战——中级案例篇)
  9. 【HTML练习】登录注册界面模板1
  10. inventor牙距_10 INVENTOR螺纹特征,是否有何设置,可让螺纹类型默认为GB Metric
  11. linux添加windows隐藏属性,解决文件夹隐藏属性无法取消的办法
  12. 毕业设计 : 基于LSTM的文本情感分类 - 情感分类 情感分析 lstm
  13. 我的2023届秋招之旅
  14. 幽灵蛛(pholcus)(五)--json解析学习资料
  15. 使用formData对象提交表单并上传图片
  16. 揪出键盘上的“老鼠”
  17. apriori算法的简介和改进总结
  18. python 查看处理器架构
  19. 页面不调转改变浏览器地址栏的方法
  20. 二年级课程表(3月14日-3月18日)

热门文章

  1. Spring的控制反转(IOC)和依赖注入(DI)具体解释
  2. 使用apache的ab对想迪科技站点www.thinkdee.com进行压力测试
  3. linux下的getopts
  4. cglib与java反射的比较
  5. golang count 单字符 字符串 统计函数
  6. linux 密码文件 /etc/shadow md5,SHA256,SHA512 破解
  7. linux shell 字符串比较相等、不相等
  8. tar解压 除去目录 指定路径
  9. WinDbg !locks 不可用的问题
  10. java设计模式---适配器模式