Используйте необработанный текст изображения и отображайте его

Вы знаете, когда вы открываете изображение в блокноте или текстовом редакторе, вы получаете много случайного неразборчивого текста, который выглядит как куча иностранных букв.

Например, это изображение:

результаты в:

‰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Â$> “>}"Î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²’&@¡!ÀÅÅÅ Lr22‚‚XÕ¿Ö#wŸ<a¸
Œïß¾KX pbžŽ @ ìš-€¶áþ!uÍX
! #þ!Ud¯€–ÿ ãЊÜ52'”èšA ƒY@þáèœþ‡vN‹Ièœã@wÏ Ç}úWF,3    IEND®B`‚

Я очень сожалею об этом:-)

Есть ли способ использовать эту странную последовательность символов для воссоздания изображения в php или в javascript (если вы даже можете сделать это в javascript), получая его из базы данных mysql?

Благодарю.

РЕДАКТИРОВАТЬ: Мой вопрос: могу ли я сказать, получить это значение изображения и поместить его в значение базы данных, чтобы позже получить его?

И почему, вы могли бы сказать? Это одна из тех вещей, которые действительно мешают мне узнать, но я не знаю как.

6 ответов

Решение

Вы можете использовать LONGBLOB Тип данных MySQL для его хранения.

С PHP вам просто нужно отправить заголовок изображения при его отображении:

header("Content-Type: image/png");
// print image contents

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/

Вы можете легко открыть изображение в php с помощью file_get_contents и закодировать его в base64, чтобы сделать то же самое, что и этот конвертер.

Вы можете использовать imagemagick для применения преобразований во время выполнения к изображению http://php.net/manual/en/book.imagick.php

Да! Вот для чего нужны URI данных!

Да, вы можете хранить двоичные данные в базе данных SQL.
Для MySQL этот тип поля называется blobи представляет нефиксированный размер двоичных данных.

Ссылка с некоторыми готовыми примерами.

Вы можете использовать Base64 Encoding/Decoding и сохранять или преобразовывать двоичные данные как текст.

В моем случае мне пришлось использовать изображения с определенных URL. Когда я попытался открыть эти URL, я получил кучу текста, похожего на то, что вы показываете здесь. Я просто поместил URL в тег img, и это сработало.

<img src="URL" alt="HELLO">
Другие вопросы по тегам