0

你知道,当你在记事本或文本编辑器中打开一张图片时,你会得到很多看起来像一堆外国字母的随机难以辨认的文本。

例如,这张图片:...

结果是:

‰PNG


IHDR           szzô   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  ÉIDATxÚbüÿÿ?Ã@€ bŒŒŒD)>ÎÀ t®Ûÿc` ±4¾ ¤? ñAÛa1æ<@Œ`NA,* âx 
 ð©æ€XÇ_€ø7Cô H/Ò|€Ãç € Âë  å@j>È·   b~yy[[& b؇Ÿfx}éà ÿ;Ä1€ŽHôÇ" »§N30ôƒ|’b‰°0ÖÈHf¼ÁúïÑ#†?Ë—3Ü›5‹áÞ§O¿ ™ÌÀPˆÍ „Õ@Ëç-O`²å54xkj˜-,HJ\ÿ?~døPVÆpfï^†OG,†º ÃÀ`ïR|@BÚÎŽ»±‘‘——ìTþméR†ýýO !‰ »ÅÐ8_ò¹²•OSÂ$> “&gt;}"ÎV4µßwì`ØßÓÃðâˆÀhš Ù
@p@Sû}& ­,*Ê ÐÝÍÀÈÍ
1AQ‘Áؘ¿§Ná·ÜÌŒANŽáìY i÷áÂï¦LaØsð (M€²«b<(í &xp@²š (ÁñÅÅ10þ*}ÿžALb9€60€ˆcà 9 éé…Ê   2¨sr2@˘½ „ì€xPVSRb`º˜}Ù€‘L(@E…=`ydÉ!^@y‡´||8!ÑS@,°TÈÙl††Wƒ ˆ%,`@[›B«WCø¡¡1t ÔûX.ü}ü˜áÏ­[_¾d …Ï ]³!ém@ ±@}*^x€®eF»wCf•þü   ñ!2 9$c£¿k×2ü®­eø}ý:Š¸_†„‚È v cŠn„ï‘ÁĉËQÅq”
¿,`ø‘˜ˆUN ì@ÓìA|€ ‚…€ ¨lgááÁî ho‡»»;ÞL€Ïràâ·0 ,ÀµÃ¨Áª«!!áçG¶åP†€`! Æß¿ãøó‡â6 Ô` @°¸ Jˆ`àk LŸÎÀ„Sš5!Lÿ"
P_ ±æ€_APð‚â˜7!"‚ ï@Ž %èßxñâ p; €˜ .:²ö+Ð÷ÿ°àÿ Ëãã1«^`œƒ0:`:‚mþ|f
ƒ"øÄÓAj\!ì
;€î¸ÄÿÐñüùÿ± 8LÍjþ!©ác@ÜĽ æÐn€ b€5J·«Ž} ÃØÙØԻ勣ªa6 2IÝ =@»`ž x] jÃÒÁ=& ¨á»wrsQÃwÅ
†ü|„‰äH/Ȩšs@³?@¢|!L    @ Á«ãÍÀ‚èˆû,LLÀʈ‹…a¨¬ïÚš5EEøSa0€CBŠ‹u|fßEÀºàû¿ 7(–A«c€ Bil€TJëùØÙì€NV&&„Áššhå:N€¦öç¿+>dx   ©;Ë$ „Ñ$[mŒÊ    1 ëvVä üú|?°!sX‚šéåhM2€ ÂÚ(]   m”òãÍXÍrsr’eù'`Á¶áêU†—_¿‚,_PŽ¥Q
@8›åË !Á]UUMP³ŒpØ;vû6Ãw` ûÙ „·c²’&amp;@¡!ÀÅÅÅ Lr22‚‚XÕ¿Ö#wŸ<a¸
Œïß¾KX pbžŽ @ ìš-€¶áþ!uÍX
! #þ!Ud¯€–ÿ ãЊÜ52'”èšA ƒY@þáèœþ‡vN‹Ièœã@wÏ Ç}úWF,3    IEND®B`‚

我对此感到非常抱歉:-)

有没有办法使用这个奇怪的字符序列来重新创建 php 或 javascript 中的图像(如果你甚至可以在 javascript 中做到这一点)通过从 mysql 数据库获取它?

谢谢。

编辑:我的问题是:我可以说获取图像的该值并将其放入数据库值中,然后再检索它吗?

为什么,你可能会说?这是真正让我烦恼的事情之一,但我不知道怎么做。

4

6 回答 6

3

Javascript 允许像素操作http://beej.us/blog/2010/02/html5s-canvas-part-ii-pixel-manipulation/

您可以将图像作为 base64 编码数据放入 img src 属性http://websemantics.co.uk/online_tools/image_to_data_uri_convertor/

您可以使用 file_get_contents 轻松地在 php 中打开图像,并对其进行 base64 编码以执行与该转换器相同的操作。

您可以使用 imagemagick 将运行时转换应用于图像 http://php.net/manual/en/book.imagick.php

于 2011-12-16T16:54:16.740 回答
2

是的!这就是数据 URI的用途!

于 2011-12-16T16:54:02.550 回答
2

您可以使用LONGBLOBMySQL 数据类型来存储它。

使用 PHP,您只需要在显示时发送一个图像标题:

header("Content-Type: image/png");
// print image contents
于 2011-12-16T16:55:15.067 回答
0

是的,您可以将二进制数据存储在 SQL 数据库中。
对于 MySQL,此字段类型称为blob,表示二进制数据的非固定大小。

参考一些现成的示例。

于 2011-12-16T16:52:43.670 回答
0

您可以使用Base64 编码/解码并将二进制数据存储或转换为文本。

于 2011-12-16T16:54:42.610 回答
0

就我而言,我必须使用来自特定 URL 的图像。当试图打开这些 URL 时,我得到了一堆与您在此处显示的内容相似的文本。我只是将 URL 放在一个 img 标签中,它就可以工作了。

<img src="URL" alt="HELLO">
于 2018-05-03T21:13:52.800 回答