J'écris une bibliothèque pour l'interface C# avec le langage d'imprimante EPL2. Une caractéristique que je voudrais essayer d'implémenter est l'impression d'images, la spécification doc ditConversion d'une image en tableau d'octets monochromes
p1 = Largeur de graphique Largeur de graphique en octets. Huit (8) points = un (1) octet de données.
p2 = Longueur du graphique Longueur du graphique en points (ou lignes d'impression)
données = données binaires brutes sans mise en forme de fichier graphique. Les données doivent être en octets. Multipliez la largeur en octets (p1) par le nombre de lignes d'impression (p2) pour la quantité totale de données graphiques. L'imprimante calcule automatiquement la taille exacte du bloc de données en fonction de cette formule.
Je prévois que mon image source soit un fichier bmp de 1 bit par pixel, déjà dimensionné. Je ne sais pas comment l'obtenir à partir de ce format dans un octet [] pour que je l'envoie à l'imprimante. J'ai essayé ImageConverter.ConvertTo(Object, Type)
il réussit mais le tableau qu'il sort n'est pas la taille correcte et la documentation manque très sur comment la sortie est formatée.
Mon code de test actuel.
Bitmap i = (Bitmap)Bitmap.FromFile("test.bmp");
ImageConverter ic = new ImageConverter();
byte[] b = (byte[])ic.ConvertTo(i, typeof(byte[]));
Toute aide est grandement appréciée même si elle est dans une direction totalement différente.
Vous recherchez la méthode ['LockBits'] (http://msdn.microsoft.com/en-us/library/5ey6h79d%28v=VS.90%29.aspx). – SLaks
J'ai utilisé votre méthode mais il y a une question de suivi avec un problème que j'ai rencontré. http://stackoverflow.com/questions/2595393/ –