Часто задаваемые вопросы о TBarCode OCX
Как создать оптимальное растровое изображение для 203 DPI в VB6?
Как создать оптимальное растровое изображение для 203 DPI в VB6?
В примере кода ниже используется заранее заданная (пользовательская) ширина модуля, устанавливается DPI, а затем рассчитывается общая ширина символа. Этот принцип работает и для других принтеров.
Метод OCX BCWidthHdc2 можно использовать для расчёта ширины штрихкода. Если ширина модуля задана, используйте произвольное значение для входного параметра nWidth. Если вы рассчитываете ширину в мм, преобразуйте её в пиксели для функции SaveImage. Если вы создаёте 2D-код, используйте функцию BCHeightHd2 для высоты.
Пример кода:Dim widthPx As Long Dim heightPx As Long Dim heightMM As Double TBarCode111.Dpi = 203 TBarCode111.SizeMode = eSizeMode_CustomModuleWidth ' =1 TBarCode111.ModuleWidth = "250" heightPx = 100 heightMM = heightPx * (25.4 / TBarCode111.Dpi) widthPx = TBarCode111.BCWidthHdc2(0, 1000, heightMM * 1000, eMUPixel) TBarCode111.SaveImage "c:\temp\test.bmp", eIMBmp, widthPx, heightPx, 203, 203
Ширина модуля 0,250 мм соответствует 2 пикселям принтера при 203 dpi, что даёт оптимальное качество. Всегда используйте целое число, кратное 1 пикселю (0,12512 мм)