Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, seguinte tenho uma imagem que é guardada em uma matriz do tipo byte, ela é assim:
const byte RPrint [] = {
0x01, 0x01, 0x01, 0x31, 0x00, 0x30, 0x38, 0x30, 0x02, 0x20, 0x89, 0xE0, 0xE3, 0xF0, 0xF9, 0xFD,
0xFD, 0xFE, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFC, 0xF8, 0xF8, 0xF0, 0xE2, 0xE4, 0xDE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x50, 0x80, 0x20, 0x04, 0x03, 0x84, 0xF3, 0xFA, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0xBF, 0x3F, 0x3F, 0x7F, 0xBF,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x3F, 0xBF, 0xBF, 0x3F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xFC, 0xA2, 0x08, 0x90, 0x80,
0x24, 0x80, 0x06, 0xD1, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9F, 0x87, 0xC9, 0xF8, 0xFA, 0xF9, 0xFC, 0xFC, 0xFE, 0xFE, 0xFE,
0xFE, 0xFC, 0xF8, 0x60, 0xFE, 0xFD, 0xFC, 0xFD, 0xFD, 0xFE, 0xFC, 0xFC, 0xFE, 0xFC, 0xFC, 0xF8,
0xF0, 0xC2, 0x40, 0x69, 0xFC, 0xFC, 0xFC, 0xFE, 0xFD, 0xFC, 0xFC, 0xE2, 0x05, 0xE0, 0xFC, 0xFC,
0xFC, 0xFC, 0xFC, 0xFC, 0xFC, 0xC9, 0x00, 0x00, 0x00, 0x00, 0x10, 0x40, 0x04, 0x00, 0x88, 0xC0,
0xE2, 0xF8, 0xF9, 0xFE, 0xFE, 0xFE, 0xFC, 0xFC, 0xFC, 0xF8, 0xF2, 0xC4, 0x00, 0x08, 0xE4, 0xF2,
0xF8, 0xFC, 0xFC, 0xFC, 0xFD, 0xFC, 0xFC, 0xFC, 0xF4, 0xE0, 0x81, 0x07, 0x3F, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF0, 0x04,
0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0x3F, 0x10, 0x52, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x2F, 0x07, 0x0F,
0x0F, 0x3F, 0x1F, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFB, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0x00, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x80, 0xC0, 0x20, 0x88, 0x03, 0x48, 0x22, 0x20, 0x10, 0x3F,
0x3F, 0x3F, 0x3F, 0x3F, 0xBF, 0xE7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x44, 0x3E, 0x3F, 0x3F,
0xBF, 0x3F, 0x3F, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x40, 0x00, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD,
0x00, 0x80, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFC, 0x20, 0x81, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xF8, 0xF8, 0xF8,
0xFC, 0xFC, 0xFE, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5F, 0x9F, 0x1F, 0x1F, 0x4F,
0x87, 0x63, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x9F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x80, 0xEA, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xF4, 0x81, 0x00, 0x04, 0xD0,
0xF0, 0xFC, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xF2, 0x08, 0x00, 0x80, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F,
0x54, 0x19, 0x24, 0x45, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFC, 0xFB, 0xC1, 0x83, 0x07, 0x2F, 0x1F, 0x9F, 0x3F, 0x1F, 0x1F,
0x3F, 0x1F, 0x4F, 0x10, 0x1F, 0x9F, 0x1F, 0x1F, 0x5F, 0x3F, 0x5F, 0x24, 0x24, 0x0C, 0x40, 0x10,
0x41, 0x0A, 0x9F, 0x1F, 0x5F, 0x9F, 0x3F, 0x1F, 0x50, 0x02, 0x1F, 0x1F, 0x5F, 0x1F, 0x5F, 0x00,
0x08, 0x9F, 0x5F, 0x3F, 0x1F, 0x1F, 0x1F, 0x98, 0x05, 0x20, 0x02, 0x42, 0x23, 0x10, 0x3A, 0x1E,
0x1F, 0x9F, 0x1F, 0x5F, 0x1F, 0x3F, 0x1F, 0x1F, 0x1F, 0x5F, 0x1F, 0x1F, 0xCB, 0x3C, 0x1F, 0x3F,
0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0xDF, 0xDF, 0xF0, 0xFD, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x27, 0x18,
0x20, 0x50, 0x05, 0x04, 0x8C, 0x69, 0x07, 0x0F, 0x3F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE,
0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xDF, 0x07, 0x53, 0x06, 0x08, 0x28,
0x30, 0x00, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x20, 0x94, 0x74, 0x23, 0x0B, 0x87, 0x1F, 0x5F,
0x1F, 0xBF, 0x3F, 0x3F, 0x7F, 0x3F, 0x3F, 0x7F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F,
0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F, 0x3F, 0x3F, 0xBF, 0x3F, 0x7F, 0x3F, 0x3F,
0xBF, 0x7F, 0x9F, 0x0F, 0x27, 0x07, 0x03, 0xD1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
só que eu preciso construir esta matriz dinamicamente, este conteudo está nums string tipo
StringImagem = ' 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x3F, 0x7F, 0x3F, 0x3F, 0xBF, 0x3F, 0x7F, 0x3F, 0x3F' ....
como faria para montar cada codigo hexa dentro de uma posição de minha matriz
tipo eu tenho ela criada zerada byte RPrint [];
tem alguma maneira de fazer isso?
pq eu uso a variavel RPrint para imprimir a imagem....
Obrigado desde jah!
Não, creio que você não entendeu, memset vai zerar a variavel, eu preciso pegar o conteudo da string que esta entre as virgulas "," e coloca em cada posição de minha matriz byte, isto dinamicamente!
Obrigado msms assim!
:s acho q fiquei leigo naum entendi muito, tente me explicar melhor oq qr!
http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Que eu saiba,memset só zera a memoria se você mandar encher de zero e não existe tipo byte em C.
Use strtok e malloc.
eu sou leigo em C, em outro forum um colega postou uma função, deu certo +- agora o problema acho que ta no tipo de variavel, veja a função:
/ FUNÇÃO PARA IMPRESSÃO DE LOGO DINAMICA /
void MENU_LOGOS(void)
{
int n;
char frase[] = "0x01, 0x01, 0x01, 0x31, ...";
const byte aRPrint [] = {0x00, 0x00, 0x00, 0x00, 0x00,...};
char * palavra;
byte xRPrint [] = {0x00, 0x00, 0x00, 0x00, 0x00,...};
int i = 0;
palavra = strtok(frase, ", ");
while (palavra!=NULL) {
xRPrint[i] = (byte)palavra;
i++;
palavra = strtok(NULL, ", ");
}
PrintImage((byte *)aRPrint, 5, 128, 8);
PrintImage((byte *)xRPrint, 5, 128, 8);
}
/ FIM IMPRESSÃO LOGO DINAMICA /
a Imagem que ta na variavel aRPrint imprime normalmente, a imagem que ta na variavel xRPrint imprime um monte de sujeira após passar o conteudo da string frase para ela... creio que os codigos hexa não estão indo como hexa, a função PrintImage(); não consegue imprimir a imagem...
alguma ideia? conseguirao me entender agora?
Obrigado novamente!
Entendi!
Você está querendo é transformar a string "0x01" em byte!!!!
Isso não funciona! Você primeiro terá que achar o valor em byte do valor hexadecimal (string).
E depois passar para o array!
bom vagando pelos fóruns de C/C++ vi q nosso amigo DarkDucke resolveu seu problema!
segue aki o link do fórum para se alguem tiver duvida possa consultar: http://forum.unidev.com.br/phpbb2/viewtopic.php?t=44642
memset resolve o problema?