Zeichnen am Touchscreen

Startseite Foren Deutsches LiveCode-Forum Zeichnen am Touchscreen

  • Dieses Thema hat 12 Antworten und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 5 Jahre von gfz.
Ansicht von 12 Antwort-Themen
  • Autor
    Beiträge
    • #1034
      gfz
      Teilnehmer

      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

    • #1036
      Klaus Major
      Verwalter

      Hi gfz,

      hier schon mal reingeschaut?
      http://forums.livecode.com/viewtopic.php?f=7&t=19074

      Gruß

      Klaus

    • #1042
      gfz
      Teilnehmer

      Danke für den Hinweis Klaus, das sieht beim Überfliegen vielversprechend aus.
      LG,
      gfz

    • #3014
      gfz
      Teilnehmer

      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 mouseWithin

      on mouseLeave
      choose browse tool
      end mouseLeave
      Script zum Speichern:
      on mouseUp pButtonNumber
      export image „SignationArea“ to file „Handzeichen.jpg“ as JPEG
      end mouseUp

      Was mache ich da falsch, da meine jpeg-Dateien komplett schwarz sind?
      Wie immer bin ich über jeden Hinweis dankbar 🙂
      liebe Grüße aus Wien

    • #3016
      Klaus Major
      Verwalter

      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

    • #3038
      gfz
      Teilnehmer

      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?

    • #3040
      Klaus Major
      Verwalter

      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?

    • #3047
      gfz
      Teilnehmer

      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.

    • #3051
      Klaus Major
      Verwalter

      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

    • #3066
      gfz
      Teilnehmer

      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

    • #3076
      gfz
      Teilnehmer

      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

    • #3084
      Klaus Major
      Verwalter

      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

    • #3161
      gfz
      Teilnehmer

      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

Ansicht von 12 Antwort-Themen
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.