Am 28.11.2007 um 14:04 schrieb Klemi:

Hi folks,

irgendwie hänge ich fest... ich möchte den Inhalt eines Canvas in eine Datei sichern und zwar nutze ich dazu die folgende Routine:

Dim P As Picture, X, Y As Integer
 dim f as folderitem
 f=GetSaveFolderItem("","Netzgrafik.jpg")
 if f<>nil then
P = NewPicture(Canvas1.Graphics.Width, Canvas1.Graphics.Height, Screen(0).Depth)
   For X = 0 to Canvas1.Graphics.Width -1
     For Y = 0 to Canvas1.Graphics.Height -1
       P.Graphics.Pixel(X, Y) = Canvas1.Graphics.Pixel(X, Y)
     Next
   Next
    f.SaveAsJPEG p
 end if


Das Ergebnis sieht erstmal recht gut aus, nur das Problem ist, dass das Canvas größer ist als das Window! Und mit dieser Routine wird tatsächlich nur der sichtbare Inhalt Canvas gesichert und nicht mehr! Wie kann ich erreichen, dass der gesamte Inhalt vom canvas gesichert wird inkl. der unsichtbaren Bereiche? Zur Info, das Canvas ist via Scrollbalken im Window verschiebbar.
Wenn du das Gleiche zum Drucken machst kannst du den Canvas als pdf sichern.



bye
Klemens

Antwort per Email an