Comment générer une dynamique GRF image à ZPL ZEBRA print
J'ai un problème.
Im générer une dynamique d'image BMP et d'essayer de l'envoyer à une imprimante ZEBRA par des commandes ZPL.
J'ai besoin de convertir mon BMP à un GRF image. Je pense que mon Hexadécimal extrait par l'image au format BMP n'est pas correct.
L'image imprimée est floue et incorrect.
C'est mon code:
string bitmapFilePath = @oldArquivo; //file is attached to this support article
byte[] bitmapFileData = System.IO.File.ReadAllBytes(bitmapFilePath);
int fileSize = bitmapFileData.Length;
Bitmap ImgTemp = new Bitmap(bitmapFilePath);
Size ImgSize = ImgTemp.Size;
ImgTemp.Dispose();
//The following is known about test.bmp. It is up to the developer
//to determine this information for bitmaps besides the given test.bmp.
int width = ImgSize.Width;
int height = ImgSize.Height;
int bitmapDataOffset = 62; //62 = header of the image
int bitmapDataLength = fileSize - 62;//8160;
double widthInBytes = Math.Ceiling(width / 8.0);
//Copy over the actual bitmap data from the bitmap file.
//This represents the bitmap data without the header information.
byte[] bitmap = new byte[bitmapDataLength];
Buffer.BlockCopy(bitmapFileData, bitmapDataOffset, bitmap, 0, (bitmapDataLength));
//Invert bitmap colors
for (int i = 0; i < bitmapDataLength; i++)
{
bitmap[i] ^= 0xFF;
}
//Create ASCII ZPL string of hexadecimal bitmap data
string ZPLImageDataString = BitConverter.ToString(bitmap).Replace("-", string.Empty);
string comandoCompleto = "~DG" + nomeImagem + ".GRF,0" + bitmapDataLength.ToString() + ",0" + widthInBytes.ToString() + "," + ZPLImageDataString;
qu'est-ce que le bitmapDataOffset en-tête de l'image, c'est ici? comment obtenir la valeur de 62?
OriginalL'auteur lucasrhuan | 2012-12-27
Vous devez vous connecter pour publier un commentaire.
Essayez le code suivant. Pas testé!
Hey! Je pense qu'avec votre fonction et un certains bits de l'exploitation minière j'ai fini mon problème, hehe. Merci pour la Réponse Jigsore
S'il vous plaît pouvez-vous e-moi de votre réponse.. j'ai appliqué la même réponse.. mais sa montre l'erreur dans
imagename
s'il vous plaît laissez-moi savoirVotre code est excellente, mais il a une petite erreur pour moi. Dans mon convertir, il ont toujours un bord noir sur le côté droit. Je ne sais pas pourquoi, je l'ai résolu en dernier pixel dans chaque ligne de 0.
aider pourquoi suis-je FFFFFFFFFFF sur toutes les lignes de mon image, basé sur le png chemin d'accès au fichier. N'taille de l'image de la matière? j'ai un 14kb fichier png 728x529 dimension monochrome.
OriginalL'auteur Jigsore
Une chose à noter est que l'image convertie doit être monochrome (1 bit par pixel). Il y a un exemple sur Zebra base de connaissances qui démontre l'impression d'une simple image monochrome dans ZPL: https://km.zebra.com/kb/index?page=answeropen&type=open&searchid=1356730396931&answerid=16777216&iqaction=5&url=https%3A%2F%2Fkm.zebra.com%2Fkb%2Findex%3Fpage%3Dcontent%26id%3DSA304%26actp%3Dsearch%26viewlocale%3Den_US&highlightinfo=4194550,131,153#. Si vous pouvez convertir vos images dans les bitmaps monochromes, alors vous devriez être en mesure de suivre cet exemple.
avez-vous eu la réponse à cette question. Je suis en train de faire la même demande maintenant.. j'ai besoin de faire une application en C# qui doit convertir mon .fichier bmp .Fichier GRF. Par exemple, je suis en utilisant .net de la peinture pour créer le fichier pcx et puis Ztools pour créer le .Fichier GRF. Mais j'ai vraiment besoin de faire simple application en C# qui pourrait convertir mes .bmp fichier grf et l'envoyer à l'impression. L'envoi à l'imprimante est déjà fait.. j'ai juste besoin de cela .bmp .grf de conversion.. je veux dire par programmation j'ai besoin de convertir toutes les idées!!!.. Si vous avez la réponse s'il vous plaît laissez-moi merci beaucoup..
Merci de poster le code (Zebra tué le lien!)
OriginalL'auteur jason.zissman
Veuillez ajouter 2 à widthInBytes - ça marche!!!!!
OriginalL'auteur user3768730