como salvar o arquivo de imagem da fonte

1

Tenho a seguinte fonte de imagem em RTF.

{\*\shppict{\pict\pngblip\pichgoal1020\picwgoal1200
89504e470d0a1a0a0000000d494844520000005000000044080200000099342577000000017352474200aece1ce90000000467414d410000b18f0bfc
6105000000097048597300000ec300000ec301c76fa8640000033449444154785eed9a4b8edc300c44fb12d96599c3e60a395aae102067e8105d6582
2e49b4d4767b6cc70f8581cc9f58fd19cc621ecfff8cdbf0d5b90d5f829f8f6f109f036b0dfbe8638a5b06860dcbc4838b4b076ec34bc84488b93370
cd5f5a09b7e1cff3f7fb0f1113bbb0b7e1aabd3d3d9fd5b0b5b818ea631bc39db72665a3ab7bf15097b193e14e3f9d35b1aca725b29f619e527acaa4
e60b0cbfb165425e59666fc30bbc63d8eec8c5ba8932929014575343c38d61c33d7e2c12c568c1afdf7faa62baa03a2a995f65c0706bfbfc4a74b918
6dbb35b1624eec8db4e22d7a0d27738752888843112a85d62dc9ed55de372c5b1e565c7762c0b00c3a976823372c3da7162d550d4b694b28cebf42e5
e7c2e3dee807a9846281d08a3b3207cc0cc78a522c9a93df5a6db716c81fed67ac8c6acd6fc51d99c3280c4b2e0a45c6d0c532c4c4c4546f3ffdf00a
eb4be3e7ea7ca31537bcd7c5c48b87e42026e754ef2883320a626eaab79f7e7885eb5da672be510d1ad20b3137a186196ee08b3af228d3cacd10c19c
98954617d38172a6215d10737368984f1dc87dc9d208c6023fdb01c2a321bd2ea603b10b488b89891a031f6920f7f9636b42acf7b31d20e92a857a27
4e33a4d8c4449bbae1a309bb46b75260626289231ab6b52462825b09422f23bdd4ffd292899f13ef2b90b2446ce826fbd3b2ca269f2b43be8d119f66
357e16b1749c370dcbf526643b49dc1a32b925560f326cd8285f7826bae9797b3bc5b66ede312c57e66f579521c3568c7a8947a1b787b5861119f29c
17c7e1c97c293331b1c42ac37c7ee1ef43026af2b238dc2bcb1644bcd8856cc2da775856b1c744490d522552e662fa45dc0762a2c6aedfe172572749
198b57c84a10737336306c6222657169237939784a91ad20e626de310c64eee24e3b1806b218c4dc1ac3860c85982bd8cd3090ad4c88af326cc85017
d3139d1b6f6818945bad35ecc86897eddaef7673c386ecb3996120d345b09488530a92540f71878d0d3bf18e9658dac14ac3865ffa29c38edfb42836
ccc9dff92170cbc70d1bbeb17beb516cdc0a1b3b6658fea7f4148a2f629761e93f9d6ec34b483fa3a7658f5f5a87e2367c756ec357e7367c756ec357
e7367c6d9ecf7fb9245ee11e01346e0000000049454e44ae426082
}}

pergunta 1: como este código 45bad35ecc86897eddaef7673c38 é chamado (algo hexadecimal)? pergunta 2: Como eu salvo dizer imagem png da fonte acima?

    
por Rahul Patel 08.04.2016 / 11:49

1 resposta

0

Na verdade, é uma representação hexa direta da imagem .png binária, nem mesmo codificada em base64. Em outras palavras, se você criar um arquivo chamado mypng.png em que o primeiro byte é 0x89, o segundo é 0x50 e assim por diante, ignorando as novas linhas no texto, você deve conseguir abrir e visualizar a imagem. (Neste caso é um rabisco).

Quanto a como convertê-lo, bem, isso depende.

Só para dar um ponto de partida, já que você tem o Word, se abrir o arquivo no Word como um arquivo de texto (para ver o código RTF em vez da imagem, talvez seja necessário definir "confirmar conversões em abra "Opção do Word para fazer isso), selecione os bytes de dados, e execute o seguinte código (você precisará alterar o nome do arquivo / caminho), você deve ser capaz de abrir a saída .png

Sub saveSelectionAsBinary()
Const pngpath As String = "c:\a\mypng.png"
Dim i As Long
Dim s As String * 1
Dim t As String
Kill pngpath
Open pngpath For Binary As 1
t = Selection.Text
i = 1
Do While i <= Len(t)
  If Mid(t, i, 1) = vbCr Then
    Debug.Print "cr"
    i = i + 1
  Else
    s = Chr(Val("&H" & Mid(t, i, 2)))
    Put #1, , s
    i = i + 2
  End If
Loop
Close #1
End Sub
Suponho que é óbvio que "pngblip" nos diz que esta deveria ser uma imagem no formato .png, mas pode haver outros tipos de imagem em uma imagem RTF, e eles não são necessariamente codificados dessa maneira.

    
por 09.04.2016 / 17:23