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