¿Alguien tiene alguna sugerencia sobre cómo dibujar con éxito un mapa de bits que tiene un canal alfa utilizando Graphics :: DrawImage() cuando el contexto de gráficos es creado en una impresora HDC ? Los controladores de impresora generalmente no son compatibles con la mezcla alfa, por lo que existe una alternativa para convertir todo en un mapa de bits fuera de pantalla y simplemente enviarlo a la impresora. Esto a menudo no es factible, especialmente para la impresión de alta resolución en impresoras de gran formato.GDI + DrawImage() con mapa de bits transparente en una impresora
Respuesta
Ha intentado dibujar un rectángulo blanco para inicializar la imagen antes de llamar al método DrawImage?
El punto es que necesito los gráficos de línea tirados por detrás de la imagen sean visibles. Intenté llenar el rectángulo primero con el color RGBA de (255, 255, 255, 0) pero esto no ayuda. Los píxeles con un valor alfa de cero se imprimen como totalmente transparentes, pero los píxeles parcialmente transparentes se dibujan totalmente opacos.
¿Qué tipo de impresora es eso? Las impresoras comunes no imprimen en blanco. Cree una imagen en la memoria y aplánela (elimine el canal alfa) y luego imprima el resultado.
Gracias por hacer esta pregunta porque yo estaba pensando en tal vez tratando de utilizar GDIPlus para ver si podía conseguirme alrededor de los problemas que enfrenta Todavía estoy consiguiendo formas de diamante con dibujos para imprimir correctamente. Aunque hoy en día parece que la mezcla alfa funciona en la mayoría de las impresoras, todavía hay algunas que dibujan esquinas negras en los diamantes.
Aparte de la mezcla alfa, también he intentado utilizar regiones de clip en forma de diamante para rodear la forma, pero normalmente las impresoras que no admiten mezcla alfa no parecen ser compatibles con las regiones de clip poligonales. He intentado copiar de la impresora-CC en un mapa de bits que el principal punto antes de sacar el diamante en la parte superior, con la esperanza de que esto permitirá que ponga de vuelta (en las esquinas) lo que había antes. Esto tampoco funciona porque parece que el problema se reduce al hecho de que el controlador de la impresora no sabe realmente qué se está imprimiendo en qué parte de la página.
En mi caso, mi próximo plan es intentar usar un cepillo grande de mapa de bits para dibujar el diamante llenar directamente a la impresora HDC. Sospecho que existe una posibilidad moderada de que esto también falle para ciertas impresoras. Parece que no es una opción para lo que estabas haciendo.
- 1. Creando un mapa de bits transparente con GDI?
- 2. gdi + Gráficos :: DrawImage realmente lento ~~
- 3. ¿Cómo aumentar el rendimiento sobre DrawImage de GDI (sin escala)?
- 4. ¿Crear imagen con fondo transparente usando GDI +?
- 5. Conversión de mapa de bits: crear un mapa de bits que excluya los lados transparentes del mapa de bits transparente
- 6. Texto antialias en el mapa de bits transparente
- 7. Cómo mostrar parte de un mapa de bits transparente
- 8. C#: Dibujar un mapa de bits en otro, con transparencia
- 9. Cómo pintar un área de un mapa de bits con 'blanco transparente'?
- 10. Trabajar con mapa de bits en WPF
- 11. Dibujar rectángulo azul ligeramente transparente en Win32 GDI nativo
- 12. ¿Cómo convertir el mapa de bits a escala de grises por intensidad de píxel usando GDI?
- 13. Gdiplus :: ¿Mapa de bits a matriz BYTE?
- 14. Transparencia al texto en GDI
- 15. Hablando con una impresora
- 16. ¿Cómo limpiar un mapa de bits?
- 17. Diferencia entre un mapa de bits y una imagen de mapa de bits en WPF
- 18. Convirtiendo un mapa de bits a monocromo
- 19. Android - Rellene mapa de bits con color
- 20. Cargar mapa de bits RGBA con PIL
- 21. ¿Cómo dibujar una ruta con un mapa de bits?
- 22. Asegúrese de que cierto área del mapa de bits sea transparente al tacto
- 23. ¿Cómo cambiar el color de fondo negro del mapa de bits a transparente?
- 24. Windows Forms: Haciendo que el mapa de bits del cursor sea parcialmente transparente
- 25. Hacer cierta área de mapa de bits transparente al tacto -> nuevamente
- 26. Dibujo de mapa de bits en mosaico con alineación inferior
- 27. android cómo dibujar un mapa de bits sobre lienzo semi transparente
- 28. Mapa de bits en algunas celdas de una columna DataGridView
- 29. Cómo rotar Bitmap en Windows GDI?
- 30. Cómo genrate una máscara de bits en blanco y negro de un mapa de bits de 32 bits