Zeichnen am Touchscreen

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.
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
        Administrator

          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
              Administrator

                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
                  Administrator

                    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
                      Administrator

                        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
                            Administrator

                              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.