Bereich aus Image ausschneiden

Startseite Foren Deutsches LiveCode-Forum Bereich aus Image ausschneiden

Ansicht von 12 Antwort-Themen
  • Autor
    Beiträge
    • #34410
      MichaelS
      Teilnehmer

      Hallo liebes Forum, und speziell lieber Klaus.
      Ich lade eine Bilddatei auf meinen Stack. Aus diesem Bild heraus möchte ich einen Teil ausschneiden (z.B. die überschüßigen, nicht zum Bild gehörigen weissen Ränder) Ich bin im englischen Forum auf einen Post von Dir vom 20.April 2012 gestoßen.
      Zitat :
      Import a snapshot of the image area you need*** and use that new (not cropped, but correct size anyway 🙂 ) and FRESH image for any further action!

      Was ich nicht verstehe ist, wie kann ich den die „image area“ die ich ausschneiden möchte markieren. Eigentlich wäre das Pointer Tool ideal. Ich brauche einen Auswahlrahmen von dem ich dann den Snapshot erstelle und weiterverarbeite.Weisst du, oder ein anderes Forummitglied wie man so etwas lösen kann ?
      Gruß
      Michael

    • #34452
      Torsten
      Teilnehmer

      Hallo Michael,

      schau dir den Befehl „import snapshot“ an. Der macht genau das, was du vorhast.

      Happy Scripting!
      Torsten

    • #34467
      Torsten
      Teilnehmer

      Erstelle einen Button mit dem Script:

      on mouseup
         import snapshot
      end mouseup

      Wenn Du den Button drückst, verwandelt sich der Mauscursor in ein Fadenkreuz, mit dem Du einen beliebigen Bereich deines Bildschirms markieren kannst. Wenn Du die Maus loslässt, wird das markierte Bild in die Mitte des aktuellen Stacks gelegt und Du kannst dann das image weiterbearbeiten. Falls Du das automatisch per Script machen willst, verwende dazu „last image“, also z.B. put the left of the last image to 0, um das Bild an den linken Rand der Karte zu setzen.
      Sinnvollerweise ist es aber besser, das Image gleich umzubennenen:
      set the name of the last image to "ImportierterSnapshot"

      Happy Scripting!
      Torsten

    • #34502
      MichaelS
      Teilnehmer

      Hallo Torsten,
      das funktioniert leider nicht. Ich hatte den import Snapshot Befehl schon gestern probiert.

      wenn ich in dem Code auf dem Taster schreibe : import snapshot from img“foto“ dann macht er einen Screenshot von dem Foto wie gewünscht. Es erscheint kein Fadenkreuz zur Auswahl.

      Wenn ich
      on mouseUp
      import snapshot
      end mouseUp

      als Code auf den Taster lege und den Taster drücke passiert nichts, der Rechner friert ein, und lässt sich nicht mehr bedienen. Ich arbeite mit Ubuntu 18.04 und Livecode 9.6.3 mit Indy Lizenz. Der Rechner hat sonst keine Besonderheiten, also Dinge die nicht funktionieren (außer das Browser Widget, aber das ist den Schotten ja bekannt). Arbeitest du mit Windows oder auf dem Mac ?
      Ich kann diese Funktion im Moment nicht auf Win oder Mac probieren. Bin auf Montage in Rumänien und habe nur meinen Hauptrechner dabei. Gibt es andere Möglichkeiten ? z.B. mit dem Pointer Tool ?
      Gruß
      Michael

    • #34513
      Torsten
      Teilnehmer

      Hallo Michael,

      ja, auf dem Mac funzt es, aber ich sehe in der Bug-Database, dass das Problem auf Linux existiert: siehe https://quality.livecode.com/buglist.cgi?quicksearch=snapshot+linux

      Ich konnte auf die Schnelle nicjt herausfinden, wie ein Workaorund aussieht, schau auch mal ins englische Forum.

      Happy Scripting!
      Torsten

    • #34521
      MichaelS
      Teilnehmer

      Hallo Torsten,
      danke für die Info. Ich dachte schon es liegt an meinem Rechner. Mal schauen vielleicht finde ich im Laufe der Zeit eine Lösung.
      Liebe Grüße
      Michael

    • #34622
      Torsten
      Teilnehmer

      Wenn import snapshot auf Linux nicht geht, könntest Du es mit export snapshot versuchen, wobei Du die Koordinaten von links oben und rechts unten einfach durch zwei Mausklicks bekommst und dann das Rechteck als Datei exportierst, das alte Image löscht und das Bild wieder importierst 🙂

    • #34742
      MichaelS
      Teilnehmer

      Hallo Torsten,
      danke für deine Idee und dein Bemühen.

      export snapshot to pictVariable as PNG

      Ich habe diese Zeile mal zur Probe als Code auf den Taster gelegt, es passierte nichts. Der Rechner fror ein. Ich habe ihn per Taster ausgeschaltet und wieder gestartet. Dann habe ich Livecode neu gestartet, und seltsamer Weise konnte ich danach keinen Sourcecode mehr laden. Im Startcenter erschienen keine Apps und auch openStack war nicht mehr möglich. Ich dachte Ich hätte mir die Livecode Version zerschossen und müsste sie neu installieren ?! Nach zweimaligen Neustart des PCs konnte ich dann über OpenStack meine App wieder laden. Und bei nochmaligem Neustart erschien die App auch wieder im Startcenter. Sehr seltsam …

      Liebe Grüße
      Michael

    • #34747
      Klaus Major
      Verwalter

      Vielleicht klappt ja der CROP Befehl unter Linux?
      Ziehe eine Rechteck-Grafik auf in der Größe des gewünschten Bildausschnittes. Dann:

      ...
      crop img "dein zu großes bild bild hier" to the rect of grc "deine neue rechteck grafik hier"
      ...

      Ist auf jeden Fall einen Versuch wert!

      Und weder IMPORT noch EXPORT SNAPSHOT funktioniert unter Linux?
      Wenn ja, bitte reporten: https://quality.livecode.com

    • #34808
      Torsten
      Teilnehmer

      Kleiner Worksaround, falls crop unter Linux geht:

      on mouseup
         
         wait until the mouseclick
         put the mouseloc into tTopLeft
         wait until the mouseclick
         put the mouseloc into tBottomRight
         put tTopLeft & comma & tBottomRight into tRect 
         crop image "DerNamedesBildes" to tRect
         
      end mouseup

      Nachdem man auf den Button gedrückt hat, markiert man erst die linke obere Ecke per Mausklick und dann die untere rechte Ecke mit dem zweiten Klick. Danach wird das Bild auf diese Ecken zugeschnitten.
      Ist jetzt nicht fancy mit Gummiband oder so, aber besser als nix.

      Happy Scripting!
      Torsten

    • #34832
      MichaelS
      Teilnehmer

      Hallo Torsten,
      nachdem Post von Klaus habe ich nicht so recht gewusst wie ich die Rect Graphic auf das Bild bekomme. Dein Post hat mir dann echt geholfen, der Crop Befehl funktioniert, ausserdem weiss ich jetzt wie man die Maus Position mit mouseloc ermittelt und speichert. Das wusste ich nicht, vielen Dank für eure Hilfe und das ich wieder etwas lernen konnte.

      Meine App ist übrigens nichts besonderes, ich lade Kochfotos, die ich mit dem Smartphone gemacht habe, auf meinen PC und kann die Datei mit der App dann entsprechend umbenennen (z.B. Schweinebraten_01) und auf das wesentliche zuschneiden.

      Danke und Gruß
      Michael

    • #34835
      Klaus Major
      Verwalter

      nachdem Post von Klaus habe ich nicht so recht gewusst wie ich die Rect Graphic auf das Bild bekomme.

      Ich meinte eine ganz popelige rechteckige Grafik. 🙂
      Aber es ging mir einfach um eine Schablone, mit der Du das Bild zurecht schneiden kannst (croppen), das kann auch ein Button oder (leeres) Bild oder ein Feld sein. Eigentlich alles, was in LC erst einmal rechteckig ist.

    • #34867
      Torsten
      Teilnehmer

      Jou, ich hab auch was gelernt, crop kannte ich bisher auch noch nicht.
      Danke Klaus!

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