Printer metafile
Printer metafile
I need a one to one copy.
Is it possible to print from one preview a original and a copy and to mark the copy with a watermark or a text as copy I mean can you add text or graphics to the metafile.
For example:
I print an invoice the preview remains on the screen. Then the
invoice get paid. On the copy I would like to have the way how it is paid (cash, Card, …).
But I wouldn’t like to recreate the metafile I would like to add this to the original so that I am sure it is the same.
Regards,
Otto
Is it possible to print from one preview a original and a copy and to mark the copy with a watermark or a text as copy I mean can you add text or graphics to the metafile.
For example:
I print an invoice the preview remains on the screen. Then the
invoice get paid. On the copy I would like to have the way how it is paid (cash, Card, …).
But I wouldn’t like to recreate the metafile I would like to add this to the original so that I am sure it is the same.
Regards,
Otto
Last edited by Otto on Thu Nov 29, 2007 6:27 pm, edited 3 times in total.
ACTIVATE REPORT oReport ON STARTGROUP oReport:NewLine() ;
ON STARTPAGE StartPage()
STATIC Function StartPage()
oReport:Box(0.1, ;
0.1, ;
oReport:PhyHeight()-0.1, ;
oReport:PhyWidth() -0.1 )
oReport:Line(0.9, 0.55, 2, 0.55, 2 )
oReport:Line(0.55, 0.9, 0.55, 2, 2 )
oReport:SayBitmap(3,2,"CONFIDEN.BMP",4,4)
RETURN NIL
you must create this CONFIDEN.BMP gray effect and rotate it
and you can create the effect watermark
ON STARTPAGE StartPage()
STATIC Function StartPage()
oReport:Box(0.1, ;
0.1, ;
oReport:PhyHeight()-0.1, ;
oReport:PhyWidth() -0.1 )
oReport:Line(0.9, 0.55, 2, 0.55, 2 )
oReport:Line(0.55, 0.9, 0.55, 2, 2 )
oReport:SayBitmap(3,2,"CONFIDEN.BMP",4,4)
RETURN NIL
you must create this CONFIDEN.BMP gray effect and rotate it
and you can create the effect watermark
Best Regards, Saludos
Falconi Silvio
Falconi Silvio
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Hello Antonio,
I found this description on google.
But I think this is by fare to complicated.
What I saw by searching our forum (http://fivetechsoft.com/forums/viewtopi ... t=metafile)is a thread where you show the import and export to clipboard from metafiles.
Do you think one could export a metafile to clipboard and then save as bmp to memory add a transparent bmp – but how? - and re-import the bmp
to clipboard and then back to metafile.
Regards,
Otto
Windows GDI
Editing an Enhanced Metafile
To edit a picture stored in an enhanced metafile, an application must perform the tasks described in the following procedure.
To edit a picture stored in an enhanced metafile
1. Use hit-testing to capture the cursor coordinates and retrieve the position of the object (line, arc, rectangle, ellipse, polygon, or irregular shape) that the user wants to alter.
2. Convert these coordinates to logical (or world) units.
3. Call the EnumEnhMetaFile function and examine each metafile record.
4. Determine whether a given record corresponds to a GDI drawing function.
5. If it does, determine whether the coordinates stored in the record correspond to the line, arc, ellipse, or other graphics element that intersects the coordinates specified by the user.
6. Upon finding the record that corresponds to the output that the user wants to alter, erase the object on the screen that corresponds to the original record.
7. Delete the corresponding record from the metafile, saving a pointer to its location.
8. Permit the user to redraw or replace the object.
9. Convert the GDI functions used to draw the new object into one or more enhanced-metafile records.
10. Store these records in the enhanced metafile.
I found this description on google.
But I think this is by fare to complicated.
What I saw by searching our forum (http://fivetechsoft.com/forums/viewtopi ... t=metafile)is a thread where you show the import and export to clipboard from metafiles.
Do you think one could export a metafile to clipboard and then save as bmp to memory add a transparent bmp – but how? - and re-import the bmp
to clipboard and then back to metafile.
Regards,
Otto
Windows GDI
Editing an Enhanced Metafile
To edit a picture stored in an enhanced metafile, an application must perform the tasks described in the following procedure.
To edit a picture stored in an enhanced metafile
1. Use hit-testing to capture the cursor coordinates and retrieve the position of the object (line, arc, rectangle, ellipse, polygon, or irregular shape) that the user wants to alter.
2. Convert these coordinates to logical (or world) units.
3. Call the EnumEnhMetaFile function and examine each metafile record.
4. Determine whether a given record corresponds to a GDI drawing function.
5. If it does, determine whether the coordinates stored in the record correspond to the line, arc, ellipse, or other graphics element that intersects the coordinates specified by the user.
6. Upon finding the record that corresponds to the output that the user wants to alter, erase the object on the screen that corresponds to the original record.
7. Delete the corresponding record from the metafile, saving a pointer to its location.
8. Permit the user to redraw or replace the object.
9. Convert the GDI functions used to draw the new object into one or more enhanced-metafile records.
10. Store these records in the enhanced metafile.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Otto,
The modification of a metafile file is very complicated task thats why we should avoid that way.
If you review Class TMetaFile Method Paint() you will see a call to PlayEnhMetaFile( ::hDC, ::hMeta, ::hWnd, .f. ). You could paint the bitmap on the ::hDC just after that function call:
PlayEnhMetaFile( ::hDC, ::hMeta, ::hWnd, .f. )
Eval( ::Cargo, ::hDC, Self ) // Use cargo or add a new DATA to the class
where ::Cargo may contain:
{ | hDC | If( lWaterMark, PalBmpDraw( hDC, nRow, nCol, oBitmap:hBitmap, oBitmap:hPalette, nWidth, nHeight ),) }
The modification of a metafile file is very complicated task thats why we should avoid that way.
If you review Class TMetaFile Method Paint() you will see a call to PlayEnhMetaFile( ::hDC, ::hMeta, ::hWnd, .f. ). You could paint the bitmap on the ::hDC just after that function call:
PlayEnhMetaFile( ::hDC, ::hMeta, ::hWnd, .f. )
Eval( ::Cargo, ::hDC, Self ) // Use cargo or add a new DATA to the class
where ::Cargo may contain:
{ | hDC | If( lWaterMark, PalBmpDraw( hDC, nRow, nCol, oBitmap:hBitmap, oBitmap:hPalette, nWidth, nHeight ),) }
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact: