Preguntas frecuentes sobre TBarCode DLL / TBarCode Library
¿Cómo puedo mejorar la velocidad al guardar la imagen?
¿Cómo puedo mejorar la velocidad al guardar la imagen?
Para acelerar la impresión de los códigos de barras, se sugieren las siguientes opciones:
BCBitmapToMemory
En lugar de BCSaveImageToBuffer puede usar BCBitmapToMemory, que debería ser más rápido. Para más información, consulte la referencia de la API: BCBitmapToMemoryA .
Tenga en cuenta que BitmapToMemory no admite el renderizado de fuentes y también usa una unidad distinta al pasar el tamaño. Si recibe el código de error de memoria insuficiente (eErr_OutOfMemory), aumente el tamaño del búfer (use el valor devuelto en *pnSize) y vuelva a llamar a la función. El tamaño del mapa de bits creado también influye en la velocidad (aunque no mucho).
Modo de dibujo
Puede cambiar el modo de dibujo a "compatible", lo que debería dar como resultado un rendimiento significativamente mejor. Para más información, consulte la referencia de la API: BCSetDrawModeExt .
Sin embargo, el modo de dibujo "compatible" a veces produce barras/puntos ampliados (o lo contrario); la desviación es de 1 píxel. Este modo de dibujo usa la función Rectangle de GDI; depende del controlador de gráficos/vídeo y también del controlador de la impresora si las barras se dibujan correctamente. En aproximadamente el 90-95% de los casos de uso, la resolución no importa (la desviación de 1 píxel se puede ignorar con una impresora de 1200 ppp), pero con mapas de bits de baja resolución, 1 píxel ya supone mucho. Por este motivo, es importante realizar pruebas.
Establezca esto antes de llamar a BCDraw o BCSaveImage:
BCSetDrawModeExt (pBarCode, eDrawMode_Compatible);
Multithreading
Para el multithreading debería considerar también estas indicaciones: