Startseite › Foren › Deutsches LiveCode-Forum › Zeichnen am Touchscreen
- Dieses Thema hat 12 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 7 Jahren von gfz.
-
AutorBeiträge
-
-
Mai 18, 2017 um 18:07 Uhr #1034
Hallo liebe Livecoder,
ich möchte eine App für Android erstellen, in der unter anderem das Handzeichen bzw. die Unterschrift per Touchscreen in einem Image-Control eingegeben werden soll.
Hat jemand von Euch eine Idee, wie das klappen könnte?
Ich habe mir hier (https://sites.google.com/a/pgcps.org/livecode/game-programming/drawingsimple) ein paar Anregungen geholt, aber es klappt nicht so ganz, wie ich mir das vorgestellt habe.
Ich habe ein Image und einen Button zum Speichern der Grafik. Welche Events sollte ich im ImageControl zum Zeichnen verwenden und wie komme ich wieder zurück in den normalen „Appmode“, sodass Buttonclicks erkannt werden?
Jeder Hinweis ist willkommen.
LG und besten Dank für Eure Hilfe und Ideen,
gfz -
Mai 18, 2017 um 18:32 Uhr #1036
Hi gfz,
hier schon mal reingeschaut?
http://forums.livecode.com/viewtopic.php?f=7&t=19074Gruß
Klaus
-
Mai 18, 2017 um 21:21 Uhr #1042
Danke für den Hinweis Klaus, das sieht beim Überfliegen vielversprechend aus.
LG,
gfz -
Dezember 1, 2017 um 19:32 Uhr #3014
Hallo alle zusammen!
Habe nach langer Zeit wieder mal versucht mit dieser App weiterzukommen. Nach wie vor habe ich ein Bild und zwei Schaltflächen (Speichern, Löschen).
Script zum Bild:
on mouseWithin
choose pencil tool
set the pencolor to „black“
set the backgroundcolor of image „SignationArea“ to „white“
end mouseWithinon mouseLeave
choose browse tool
end mouseLeave
Script zum Speichern:
on mouseUp pButtonNumber
export image „SignationArea“ to file „Handzeichen.jpg“ as JPEG
end mouseUpWas mache ich da falsch, da meine jpeg-Dateien komplett schwarz sind?
Wie immer bin ich über jeden Hinweis dankbar 🙂
liebe Grüße aus Wien -
Dezember 1, 2017 um 20:56 Uhr #3016
Hi gfz,
auf der mobilen Platform (iOs aund Android) hast Du NUR Schreibrechte in
-> specialfolderpath(„documents“)!
Daher:on mouseUp pButtonNumber put specialfolderpath("documents") &"/Handzeichen.jpg" into tFile export image "SignationArea" to file tFile as JPEG end mouseUp
Gruß
Klaus
-
Dezember 3, 2017 um 11:24 Uhr #3038
Danke für diesen Tipp Klaus – an der Tatsache, dass ich nur ein schwarzes Rechteck mit den Abmessungen meines image-controls als jpeg-datei erhalte ändert das leider nichts. Ist das ein Bug von LC 8.1.7?
-
Dezember 3, 2017 um 13:32 Uhr #3040
Hm, aber das sollte dafür sorgen, daß überhaupt etwas gespeichert wird, was vorher nicht der Fall gewesen sein dürfte!? Im Zweifel immer „the result“ abfragen. Hier direkt nach „export image…“
„the result“ ist leer bei Erfolg und gibt sonst einen Hinweis, was schief läuft.Aber das „image“ sieht in der Andwendung korrekt aus, also die erstellte Unterschrift etc.?
Nur der Export produziert daraus ein schwarzes Bild? -
Dezember 3, 2017 um 16:02 Uhr #3047
Hallo Klaus danke für deine Hilfe!
Das mit „the result“ verstehe ich nicht ganz – meinst du so:on mouseUp pButtonNumber local tFile put specialfolderpath("documents") &"/Handzeichen.jpg" into tFile export image "SignationArea" to file tFile as JPEG put the result into msg box end mouseUp
Falls das so ist wie du es gemeint hast, dann erhalte ich in der message box keine Ausgabe – ist also aus Sicht von LC kein Fehler aufgetreten.
Zu deinen Fragen:
Ja ich sehe mein gekritzel im image-control und die exportierte Datei enthält nur ein schwarz gefülltes Rechteck.
Muss ich das Image-Control in irgendeiner Weise initialisieren?
Ich teste momentan nur unter Windows. Ich habe noch kein apk generiert und aufs Handy übertragen – aber am Desktop sollte es unter LC ja eigenltich auch funktionieren, oder? Zuvor – ohne specialfolderpath, erhielt ich die JPEG-Datei im Desktop-Ordner und jetzt unter C:\Users\mein_user_name\Documents – immer schwarz!?
liebe Grüße,
Georg
Was verwendest Du für ein LC Version? Ich nutze 8.1.7 Community
Mein Betriebssystem Windows 10 bzw. Windows 7 beides Pro Varianten. -
Dezember 3, 2017 um 16:15 Uhr #3051
Hi gfz,
ich meinte es ungefähr so:
... export image... if the result <> EMPTY then answer "Problem:" && the result end if ...
Ich arbeite mit LC 8.1.7 auf dem Mac, allerdings entwickle ich nicht für die mobile Platform,
besitze noch nicht einmal ein Handy o.ä.Aber ich habe das gerade mal an meinem Mac getestet, sieht nach einem Bug in LC 9x aus!
Unter LC 8.1.7 bekomme ich ein korrektes Bild mit weißem Hintergrund, unter LC 9 DP10 hat das Bild einen SCHWARZEN Hintergrund!?ABER nur beim ersten Export, beim zweiten Klick auf meinen Exportbutton bekomme ich auch unter LC 9x ein korrektes Bild? Nun, schreiben wir das erst einmal der Developer Preview zu, bevor wir einen Bugreport absetzen. 🙂
Gruß
Klaus
-
Dezember 4, 2017 um 20:59 Uhr #3066
Guten Abend Klaus!
Also ich weiß nicht was ich falsch mache – aber mein Export hat niemals einen weißen Hintergrund.
Hier meine Scripts:on openStack set the backgroundColor of image "Papier" to "white" end openStack
für das image „Papier“:
on mouseWithin set the penColor to "green" set the lineSize to 80 choose pencil tool end mouseWithin
on mouseLeave choose browse tool end mouseLeave
für den button „Speichern“:
on mouseUp pButtonNumber local tFile put specialfolderpath("documents") &"/Handzeichen.jpg" into tFile export image "Papier" to file tFile as JPEG put empty into img "Papier" if the result <> EMPTY then answer "Problem:" && the result end if end mouseUp
Und für den button „Loeschen“:
on mouseUp pButtonNumber put empty into image "Papier" end mouseUp
Die Anweisung den Hintergrund auf weiß zu setzen scheint ignoriert zu werden!
In der Zwischenzeit erhalte ich zumindest mein Handzeichen in Grün auf schwarzem Hintergrund.
Die Anweisung zur Linienstärke wird ebenfalls nicht berücksichtigt – egal welchen Wert ich da einsetze ändert sich die Linienstärke nicht. „penWidth“ und „penHeight“ statt „lineSize“ bringt auch keine Änderung der Linienstärke.
Beim Arbeiten mit Livecode in der IDE schaltet sich bei diesem Projekt immer automatisch der Laufzeitmodus ein, sobald sich der Mauszeiger über dem image Objekt befindet. Lässt sich das irgendwie unterbinden? Das macht nämlich die Bearbeitung und Erweiterung des Projekts etwas mühsam.
liebe Grüße,
Georg -
Dezember 5, 2017 um 20:06 Uhr #3076
Liebe Experten!
Mittlerweile habe ich es geschafft einen weißen Hintergrund für mein Handzeichen-image zu erhalten. Die Lösung war ein weißes Bitmap als image-Objekt zu importieren und darauf zu „zeichnen“.
Aber warum funktioniert es nicht, die Eigenschaft backgroundColor des image-Objektes auf „white“ zu setzen? Kann mir das jemand verraten?
liebe Grüße,
Georg -
Dezember 5, 2017 um 21:47 Uhr #3084
Hi Georg,
„backgroundColor“ ist nur eine „property“, deren Name allerdings im Kontext mit Bilder irreführend ist. Wie Du selbst bemerkt hast, erstellt sie keinen weißen Hintergrund in einem (leeren) Image Objekt.
Selbiges passiert z.B. bei „Option menu“ Buttons, Scrollbars etc., also es passiert nichts, wenn man diese Property setzt.
Gruß
Klaus
-
Dezember 7, 2017 um 20:20 Uhr #3161
Danke Klaus!
Hier habe ich noch etwas interessantes gefunden, falls sich jemand anderer auch noch dafür interessiert:
https://forums.livecode.com/viewtopic.php?f=70&t=16743
LG an alle,
Georg
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.