以HTML格式打印十六进制图像



我的数据库中有这个:

0x89504E470D0A1A0A0000000D494844520000012D000000960803000000BC472EDE0000000373424954080808DBE14FE000000300504C5445070B0D7CADB94B818C345A63CFD610AFBCBE639DAB6C8034262F2BCA802F426F7AA7AD0EB9D4DA919E219BB7BD48592D1D3034416B74749FA9CEE0E464919B54909D2F3A1D95B4BC49737C445D43638B94152327B2BCBF64858C7DA0A99DC3CB50663AE1ECEF919DA052737B6481873A626B84A5AD37472B528A96223B418BB4BDBC7B3177989F29464BFFFF00AECDD4C9CF116BA3AF101C1F856539659BA6B7D3D85C919CA6C4C9A06E3385A1A684ADB6F0F6F7899EA37C9CA3182A2F3C66704A7E8AC4D8DD31525B526A3F4E8592517C8543727C243F4595ABB085B4BED6E4E79B6529738D932B4A52E5E809ADCBD18DB8C23C514A538E9C9CBDCE6596A2375C645B99A78A979A96BAC174A9B5775F3A4B6B7221383D7B959B0C161863797E5B533C6B888E487A85457682354C513F636B121F211B2F335286926FA5B2AEB91BFAFCFCBBD3D89DAFB37BABB56B9AA5B4CCD17C8D9221424AD9E7EB9CBDC482B0BBC6DCE08DA6AC8391236A9EAA18282B946C3872949C5052426B858C3D6A735694A26C751753838D1423275A747AF1F202375E688EAAB0455E63637D8396A629355146D0DDE0E6EFF1E5892A506D732F4F566B5D3F72A6B3A4B0B3B6BA0BC7D3D68C9A9D738A8F6B8C94ACC6CD6A82875B787E849EA54A73843549495D72377A8C30284349A5BEC41F34390B13157C5628A2AE21A1713697B1B7414B437391970F191B7B9297334C42598A95BDCDD0F6F8F885989C5C703493A1248BADB5C77B2AC0C5C694A5AA758428E8F1F3BED7DD8594286C939CA4B4B773878C6B7E82D7DD0E597C849FBABF5F767C5C563F7BA8B3DDE9EC537076739BA5A5C6CE6B7E32DBE0E13A53597E8A8D94BDC54B666C8DA1A599A4A65F743954483094B5C583A8B28392965E5942AE75336E97A179623C5B838B5996A494AEB4986B31849599DBE4E6FFFFFF7A8113080F10B2C5CAADB71930473C7B6342BDC61852738499B2B76B9494D6D8D8F2F404B4CFD6ADB5B772838673A4AEAFC0C3CA7F2FCAD0128FBAC35A8690A0AB1E8CB5B5D7842C888F10727F22A17035BBD0D57BA4ADB0BB1EE365BB05000000097048597300000B1200000B1201D2DD7EFC0000001C74455874536F6674776172650041646F62652046697265776F726B7320435336E8BCB28C00000016744558744372656174696F6E2054696D650030322F30342F3136F658F56A0000200049444154789CACBD5D8CE3E879265A2401E22CA10BC90A911C176688C69A3E946C41603B65E4CC204516C19060ED12228888301D65362191AA23CC407BD1C53AA81A4F48A40305BE182FA39B35E20303827A614C1AC7182CBC175DC84D9071C7BCE1CD8111C7AB733198AB7323C008146000C338CFFB51555DDDD33DD363E79BE9EAEA2A893F0FDF9FE779BFF7FBB477757E7ED56AB50E3E7B6C369BE7FC68B3F9CCF73E397CEB13E37907FC4DC633477D99B70C9F1AA3178D4AF9C637F6CE8FBBE7E74747ADDBF7F6BCF19980FCE6E3D38FFE59CFE4B3C6E785EDD9A17CE3473FDD3BEA76BB0D58D76F7AF61C9FFFC29E35A627DF3FF5E3E74075EBDA7FFDBBFE3C187C8641914D350360BDFA13A0750E5F24677CD1E95E04E45397FFF9217D59145E1EA897C1E53360AA5E34CEB63F7AF56FFF760F710B9ED8FA14B49E7FE5CF5EFA6F8ED5AF19B570CF9F07A94F319F170E4551BED1FFD5B75E7985D03A8227B66E9DF9371C3B246F3078BE19BD94B53C0DCA6F60334F61F229E8282F18DFE8FFF4ABDFFDF62B7BADA3AB2B72C44F5CCF27AEF005F7F019A07D8EF1F4299F0BD0A70598CF6B319F8ECFED51D7FD9F7EE16F5FF9DE2B7B6F1D356EF82917F3791EEA6F6A279F078E5F0B9E9741E78C8DFAC9E8BFF6ABAF7EF74B7FF9A5BD5613B29E73CEE7A2F6F45FFF26E3DF1E91CF05CD2D0B7AC1D86EFB3F7DF55B7FFA6DA0757075059F190E5F70BEDFE051DF20FC1C745E06A8CF07CCAF0955FD229CB6B746BFFFE5DFFF5B8656635AC317C1F51940BC3C46B70CF225D17A06B2CF05DFBF854901B16BDC5E7BF5ABDF7DE5C6B65E081683EB05907D2E5F7B169B97F7C09B47F639C0FA7C2EF8E990358EF8D5EFFE39B3AD17A375737D2F75572F0F1E0D98F3EDF7BD1C6A9F77BC1C52679F08EACFBA631FB6F5B7D768B18CF809A89E5CE3BF31509F6185FFC688BDB4997D8A75916DEDE2D635D97ACA9A7661E2961F7C1E883E0763F8DC80FD9AC15FF90CD45E645D4FD062B645DC9468E4E82993FABCE6F4E944F51666CFA1A19F1FB44F41E579BF04182F65662F46EBB5A7D06A02D7CB22F549B07E1DBDF404E41720F529C0BD0898CFB2BC5FD31FAF3DF16FA07C8E1A0EF179807A16AF9741E75A243EFBF2EB43BCC0B63EC5E83E89451004D9B6FE74C43E15B2B3E786FCFE6B0DDF7A82D6671AD28B0DEB93607D7AB1E17976765B203ECFDC9E8FD85328D45B4F172371B1F03E13AC176256D7CF33B1FE8F08AD2FFD0354F5D5B54CAC5EE48BDBEAB3AFFF79983DD7BE9EFFAFA70EF3B2583D0DD776CBAD4DEDE2228AA20BE533CCEBD36D0C903D1FAD3FDF6B2A109F02167EFE495C3E1DB39746EF69FB7A0EEE373FAA46C3DB61EE9397E979DBC85E6B621CCC745D7CC6903EA73F3E6B5CC18F5EDDA1D522B4362F2E41B0CB6497FB52BCEA45B7FD1905ADE7617EFBE7B5F7F4D99FBAC4BAAEB6F12CCB443312755D5F2CAA2CFB2426D73F7839B49E1ABF7DDBB658906787686CE93951ABF6EA5FC31D6FFEC580BA7A7130FB9423D12F115503AFBAA120753DDA8CAE89733F8B8A7E2D46B029BB40D4CA749D0BAA5A7979337A0923BB41EB88063DF3EBE705C7BB8595A2B0AFB1F29485BC387CDF7EF84F193EC2E733F6C4DEA5705B65D41441D8FB0E364F3B322E970338955D64F849550FEB38D6C20B65A73D6058919865D9629BE98B30E479599F060AF9E54BBB5DFDD9887DE329B49E5339BD1E1565CBAAF2B6B7B08672F23C8FC388E318A6AF8B18D17A2DCB1A1B3686D98C84E7D3D44C1DC7343B72EB59B0AE6A5DB3654DAC37643D4A4516F3E405E26274A6CBB666477A36EBF0DAB635D4C58518AED761A4DC38A1A250A52008A68E1625DA7A1D5C1D0CAB1AA678ED74CA673ADF569FC69EF75268B1B845497177BC9AD573B2D96CB120148001DD3F9FA4692A61E486A1CE9B61A839067EE66024CD30799E6F200BC3B00082D16EC845746D5B8DDDB4AAD1416DA606AF99A65C91998DAA4D16D0030AE8D7C3D8B64591CF7387B78B22C3D1A6956EE282109B447136CBD8B3E438BC4309AAD94C5425DBBE984EABEE390C76EADD86E7052686D4E705B5926978969A7E13D39F8FD6B71ADB3A1F9E6DFB5C7C41A66127494AF7EE00140C20019012D30E135E9671E722A2E89406C721076DD9819B304730101501F29465AFCEF1FFF9065F862DB2DEF3ACA6C48B1791FBE095CA36CEBCA961A649A793A604E401BC27E26AAE12393C3B250346385FE238A9ADAD3339E5F96C2A854548D71245B1D7983E469D196114861D33D40A2EAE0FBAE71B2E9A3D1D075E605CB129C77D5BD20A4783853F3B76BEB443EBBFB2287FEEFDDD17BFF8C51FFEF0873071A031C563CBFA4150EF9E090B260733854D8FDE9A2DBDE1E0B706DE50B3C8034CDE7A6B3415B78AB7A8D96BBCEA8071506F8DEC35CA223D8EA269E47404FB2C34D29A0E086FE6D762A4178BD188131182E4C4168B422C423E12354930AB4A85BBADD354161D3BBB3E7FA567F8ADD5E169AC757D747E35F4C4D9F013D4E159A8E045119955DA296C474E6DAF7A56F73C635BFF099E78D452941710EE27C9DA539E21F39B262DB08B685E319D2971C565EC77A33E827380D0362D789DE390C494A361C08D14BDD00A51ACF13FC78B51649BB6723C32F35A015C1E102A64BE288AC52CD2F23C2DE7B61D25A926774C18B62A6E944EC7E1C58E25DB16BF5676CF2BD0E4BA9ED9896DF33C225C75D5BD6A55D9C8AB5E347628D6080F5A113AB9A026737891065B0FCE9E054A799A9DC25B86ADE7309EA7925BCDF5A7CA535292B8B3D2BCE20039A01A2ED6175EAD70073562F6B00E381B91A0A5C389D66BBE98CEFADD00A9FD22091344414D1C8A73490C23983F0E10DAD3E936CB7418531AC9B923CBB63D1784C120CF0D0D7120E125C436318E04C3701C3B4D0BCD4EC33E3DCFD1364BA229CE5B14482D4994E9357375DCE40BD1DA61363535D349ECC4B212D9167C35B12573A63C6357BB7FDCA0757E8E48734B543F073025E2B58217AF19CFB0568238128B28EB6F0966AED0D69C2EEBF09D681684A65879912EAFA76B84E358D2B44243FCF1BA194283D3B1C3D08667D5A169DABA2E496B3153022F82FFC951AA997EB440FC71E6A5EBFA031F4925054EB663DA92245F149620CCA59477808B53441C0B969EBEE8C7C806AA633B869198F93C59C0579417D7CE69F4435E8335E6929918061EA969F11DA163EACA6D164F70318DCD72E27FFD1B7822C8CED555635B9F24A5CDB8202E1085EBC5CE43EBD94C8F2060176216C4DBCCD6782DD2A3A2039E20EB80418F83A96C87E20C266115A62DDBEB28E86EE3D853A51061DBD47851EFCF22799D76625BC7C54BFCDA86C5ACA5DC340D33325DB7ECF57A4292D82A50482C23950CBB984EADA585CC6C491A42BFBD6E9E5EA5886BFC8CBDCECD476227DA9C6F36E757A35DB07A12B26EA1250AD6BC939829D002684E12AA8EB0544D9BAB6E9BD4CD60718BD01A1E1085B8BA7A864FDFC26DB30058A90E4B8F416CF04015A4206DADC93AE896B69EC22C90D845DE7272DE8E8973AC75841B84DC3401908E1942BF05C7DE4CF4A6EB0B7B6E688559149A683A66210EE96244D5F7C763538CED5C9554C311DCC1C0F77D69ACCA12EECA1C0C12338A91F77CB72C25630E603A896D8A2306D716C869499E68362EE0A87BF41612CCA8FBD6275CEF09625B91175C0BE7923A736B8E9B4B43DB5F2E2D555DDF4A063BA4B64FD5B728E7577156331AC70EF8345C1B8599B85E88A609DFCA4...

一开始我不知道那是什么。经过一些研究,我认为它是十六进制的。我想在我的html文件中打印图像。

我使用Symfony(4.3.11(和Angular。

以下是我尝试过的,以及我现在的处境:

  • 使用查询,我可以取回图像,但当我想用:<img src="data:image/png;base64,打印时,我得到了这个东西:src="unsafe:data:image/png;base64,Resource id #788"
  • 现在,我知道我得到了一个资源,而不是字符串
  • 我使用这个:$temp = stream_get_contents($this->image)来取回字符串
  • 所以现在,当我尝试打印时,我得到了这个:<img src="data:image/png;base64,0x89504E...,但图像并没有显示出来
  • 我需要获得Base64,所以我尝试了:base64_encode($temp),代码正在工作,但图像没有显示

我想我需要在开始时转换我的十六进制。。。

我也知道开头的十六进制是一个图像,因为它被用在另一个应用程序(C#(中,比如

Convert.ToBase64String((byte[])Values.IMAGE)

如何对php和Symfony进行同样的操作?

切断前导0x,然后将其余部分提供给pack函数。

pack('H*', '89504E470D0A1A0A0000000D49484452')

当URL编码时,会产生(当echo'd时(�PNG…%89PNG%0D%0A%1A%0A%00%00%00%0DIHDR,这些是PNG图像的起始字节。

现在,您应该能够将其以base64编码为一个适当的数据URI。

最新更新