Tengo una rutina procedure DrawStuff(ACanvas: TCanvas; const ARect: TRect)
que dibuja algo en un rectángulo específico en un TCanvas. En este momento, llamo al DrawStuff
con un lienzo de PaintBox. Ahora estoy agregando una opción Save as
, en la que el usuario podrá seleccionar entre una variedad de formatos de archivo (bmp, wmf, jpg, ... - preferiblemente tantos descendientes de TGraphic como sea posible) para guardar los resultados de DrawStuff
en .Guardar imagen en una variedad de formatos de archivo
Al llamar a TMetafile
y guardar eso como "bla.bmp" o Assign
al TPicture
no funciona correctamente, p. Ej. produce archivos con extensión ".bmp" que no son bitmaps. Ahora mismo no puedo imaginar una solución que no implique especial carcasa todos los formatos de archivo único:
- bmp - Uso
TBitmap.Canvas
. - wmf/fem: Use
TMetafileCanvas
. - , etc, etc
¿Sabes tiene alguna idea para mí?
Es muy fácil hacer una rutina "uniforme" para guardar BMP, PNG, GIF, JPG, etc., pero es mucho más difícil si también incluye WMF o EMF, ya que estos últimos son * formatos de imagen vectorial *, mientras que los primeros son * formatos de imagen * raster *. A menos que, por supuesto, elija guardar la imagen como un mapa de bits ráster incrustado en su EMF/WMF, pero en tal caso es completamente estúpido usar el formato EMF/WMF ... –
wmf/fem de envoltura especial estaría bien. ¿Puedes darme consejos sobre la rutina de uniformes que mencionas? –
PD: Pensé en dibujar un metarchivo y luego 'Asignar' a un 'TPicture' podría funcionar, ya que parece ser algo así como un conjunto de llamadas GDI grabadas. –