German Teil-Screenshot erstellen und in PDF abspeichern

strupp01

Active Member
Licensed User
Longtime User
Hallo zusammen,

ich habe in einer Activity eine Grafik erzeugt und möchte diese Grafik in ein PDF-Dokument übernehmen.
Ein kompletten Screenshot kann ich erstellen als *.png-File mit folgendem Code :

' Take a screenshot.
Dim Obj1, Obj2 As Reflector
Dim bmp As Bitmap
Dim c As Canvas
Dim now, i As Long
Dim dt As String
DateTime.DateFormat = "yyMMddHHmmss"
now = DateTime.Now
dt = DateTime.Date(now) ' e.g.: "110812150355" is Aug.12, 2011, 3:03:55 p.m.
Obj1.Target = Obj1.GetActivityBA
Obj1.Target = Obj1.GetField("vg")
bmp.InitializeMutable(Activity.Width, Activity.Height)
c.Initialize2(bmp)
Dim args(1) As Object
Dim types(1) As String
Obj2.Target = c
Obj2.Target = Obj2.GetField("canvas")
args(0) = Obj2.Target
types(0) = "android.graphics.Canvas"
Obj1.RunMethod4("draw", args, types)
Dim Out As OutputStream
Out = File.OpenOutput(File.DirRootExternal, dt & ".png", False)
bmp.WriteToStream(Out, 100, "PNG")
Out.Close

Beim Versuch, diese png-Datei in ein PDF einzubringen mit
'Grafik ausgeben
Dim test As Bitmap
test.Initialize(File.DirRootExternal,dt & ".png")
PDFWriter1.addImage2(50, 400, 400, 300, test)

wird dies auch ohne Fehler akzeptiert.
Abgespeichert habe ich mit
PDFWriter1.outputToFile(File.DirRootExternal,"Test-" & ".pdf",PDFContent,"Windows-1252")

Beim Öffnen des PDF wird jedoch eine Fehlermeldung ausgegeben, dass die Datei beschädigt ist.
Eine PDF ohne Grafik wird ordnungsgemäß gespeichert und kann geöffnet werden.

Meine Fragen :
1. Gibt es eine Möglichkeit nur einen Teil des Bildschirms als Bitmap abzuspeichern ?
2. Was mache ich beim Abspeichern falsch ?

Danke schon mal im voraus.

Gruß strupp01
 

strupp01

Active Member
Licensed User
Longtime User
Danke mal wieder für Deine Hilfe.
Gibt es denn auch die Möglichkeit anstelle eines Panel nur einen Teil des Panel über Koordibaten auszugeben bzw. einen Teil der Activity über Koordinaten auszugeben ?

Gruß strupp01
 
Top