2017-04-27 96 views
0

我使用Axiohm热敏打印机打印POS收据(用于通信的USBCOMM.dll)。目前,我可以打印所需的详细信息以及图像(.bmp文件)。现在我需要使用新图像而不是现有图像。新图像包含条形码。 当我尝试打印新图像时,我得到的只是一些垃圾值。以下是我使用的代码。相同的代码适用于旧图像,但不适用于新图像。有没有我需要遵循的图像格式。使用axiohm打印位图图像usbcomm dll

Dim filepath As String = AppDomain.CurrentDomain.BaseDirectory + "Resources\PrinterDlls\unnamed.bmp" 

      Using fs = New FileStream(filepath, FileMode.Open, FileAccess.Read, FileShare.Read) 
       Dim inpt As Byte() = New Byte(fs.Length) {} 
       inpt(0) = &H1F 
       fs.Read(inpt, 1, CInt(fs.Length)) 
       Dim ok As Boolean = Usb_WritePort(True, inpt, inpt.Length, written, IntPtr.Zero) 
       If Not ok OrElse written <> inpt.Length Then 
        Throw New Exception("USB write failed") 
       End If 
      End Using 

回答

0

那么,这是令我感到尴尬的是我回答了我自己的问题。我搜索了一段时间来解决问题并提出了问题。不久之后,我在YouTube上遇到了这个视频解释的位图图像创建热敏打印

https://www.youtube.com/watch?v=LdB33eWLjgU

基本上,你需要确保三两件事同时创建映像: 1. 8位 2 。Greyscale 3.另存为.bmp

而新图像在打印时会像魅力一样工作。同时确保宽度小于纸张宽度。