php生成预览图不保存,php – 使用ImageMagick生成图像而不保存到文件但仍显示在网站上...

您可以使用特殊的内联:图像格式(ImageMagick也支持读取文件).此格式是二进制数据的base64编码.

在(Linux)命令行上:

my_base64_png="$(

convert \

-background none \

-pointsize 60 \

-font Times-Roman \

-fill red \

-strokewidth 1 \

-stroke black \

label:\"google\" \

png:fd:1 \

| \

base64 -i - -o -)"

这个命令使用了几个特殊的技巧ImageMagick,并且它们的外壳都有:

>使用格式提示png:告诉它输出应该是PNG格式;

>通过指定fd:1,使用stdout作为输出通道(而不是文件);

>将输出直接输入base64二进制文件的stdin以编码PNG;

>将base64编码数据存储在环境变量my_base64_png中.

现在在你的HTML内联base64图像数据(它应该适用于所有现代,但在旧版浏览器中不起作用):

ALT="google" WIDTH=214 HEIGHT=57 VSPACE=5 HSPACE=5 BORDER=0 />

要么

ALT="google" WIDTH=214 HEIGHT=57 VSPACE=5 HSPACE=5 BORDER=0 />

将此过程转换为PHP应该不难. 😉

正如我所说,ImageMagick可以读取这种内联:格式(此处不用于阅读).但为了完整起见,让我告诉你如何:

convert \

'inline:image/png;data:,

iVBORw0KGgoAAAANSUhEUgAAAM4AAABJAQMAAABPZIvnAAAABGdBTUEAALGPC/xh

BQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAA

OpgAABdwnLpRPAAAAAZQTFRFAAAA/wAAG/+NIgAAAAF0Uk5TAEDm2GYAAAABYktH

RACIBR1IAAAACXBIWXMAAABIAAAASABGyWs+AAAB6ElEQVQ4y+3UQY7bIBQG4IeQ

yqYaLhANV+iyi9FwpS69iGyiLuZYpepF6A1YskC8/uCA7SgZtVI3lcoiivkIxu/9

MdH/8U+N6el2pk0oFyibWyr1Q3+PlO2NqJV+/BnRPMjcJ9zrfJ/U+zQ9oAvo+QGF

d+npPqFQn++TXElkrEpEJhAtlTBR6dNHUuzIMhFnEhxAmJDkKxlmt7ATXDDJYcaE

r4Txqtkl42VYSH+t9KrD9b5nxZeog/LWGVHprGInGWVQUTvjDWXca5KdsowqyGSc

DrZRlGlQUl4kQwpUjiSS9gI9VdECZhHFQ2I+UE2CHJQfkNxTNKCl0RkURqlLowJK

1h1p3sjc0CJD39D4BIqD7JvvpH/GAxl2/YSq9mtHSHknga7OKNOHKyEdaFC2Dh1w

9VSJemBeGuHgMuh24EynK03YM1Lr83OjUle38aVSfTblT424rl4LhdglsUag5RB5

uBJSJBIiELSzaAeIN0pUlEeZEMeClC4cBuH6mxOlgPjC3uLproUCWfy58WPN/MZR

86ghc888yNdD0Tj8eAucasl2I5LqX19I7EmEjaYjSb9R/G1SYfQA7ZBuT5H6WwDt

UAfK1BOJmh/eZnKLeKvZ/vA8qonCpj1h6djfbqvW620Tva36++MXUkNDlFREMVkA

AAAldEVYdGRhdGU6Y3JlYXRlADIwMTItMDgtMjJUMDg6Mzc6NDUrMDI6MDBTUnmt

AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDEyLTA4LTIyVDA4OjM3OjQ1KzAyOjAwIg/B

EQAAAA50RVh0bGFiZWwAImdvb2dsZSJdcbX4AAAAAElFTkSuQmCC' \

my_decoded.png

ImageMagick不需要image / png;命令的一部分(它甚至忽略它),因为它可以通过它自己的内置魔法数据库来识别格式 – 但它也不会伤害…

我还要指出,ImageMagick的命令行长度限制为5000个字符,因此读取内联:数据不适用于较大的图片. (目前我不知道在HTML中内联图像数据的限制是什么……)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值