1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Trubadour

Beiträge von Trubadour

  • GDIPlus Grafik speichern funktioniert nicht korrekt

    • Trubadour
    • 10. Dezember 2017 um 17:21

    Dann noch einmal herzlichen Dank! So einfach wär das also gewesen. Vielleicht sollte mal jemand von euch ein Beispiel irgendwo gut erreichbar/sichtbar und erklärt positionieren oder ihr integriert das in die Hilfe, und zwar mit deiner Erklärung. So toll und einfach ich Autoit finde, die Grafikprogammierung mit GDI+ ist für Laien fast nicht nachzuvollziehen.

    Ich habe mir deshalb jahrelang mit Screenshots geholfen, aber jetzt unter WIN10 mit der Möglichkeit der scalierbaren Bildschirminhalte funktionierte das auch nicht mehr zufriedenstellend.

  • GDIPlus Grafik speichern funktioniert nicht korrekt

    • Trubadour
    • 10. Dezember 2017 um 13:40

    Vielen Dank, Alpines.

    Auch wenn ich mir noch nicht erklären kann, wieso auf ich auf $hIamage zeichnen kann und das Gezeichnete in der vorher deklarierten Variablen $hSaveImage auch vorhanden ist. AAH, es handelt sich um handles, aber wofür brauch ich dann noch den Context?

    Naja, auch wenn ich es leider nicht verstehe, ich kann jetzt erstellte Grafiken speichern und das war das Wichtigste.

  • GDIPlus Grafik speichern funktioniert nicht korrekt

    • Trubadour
    • 9. Dezember 2017 um 22:17

    Hallo zusammen,

    eigentlich sagt der Titel schon alles. Ich erhalte nur eine schwarze jpg-Datei. Auch wenn ich vorher auf die Grafik noch etwas draufmale, die abgespeicherte Datei ist nur schwarz. Meine anderen Versuche muß ich hier ja gar nicht erst vorstellen....

    Für die Lösung des Problems benötigt man anscheinend umfassendere GDIplus Kenntnisse.

    Beste Grüße, Jens

    C
    #include <GuiConstantsEx.au3>
    #include <GDIPlus.au3>
    #include <WinAPI.au3>
    #include <WindowsConstants.au3>
    #include <Constants.au3>
    #include <GuiConstantsEx.au3>
    
    _Main()
    
    Func _Main()
        Local $hGUI
        global $hGraphic
        global $iWidth=600
        global $iHeight=400
        ;Local $iARGB_BG="0x22ffff22"
        $hGUI = GUICreate("Grafik",$iWidth, $iHeight)
        GUISetState()
    
        _GDIPlus_Startup()
    
        $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hGUI)
        _GDIPlus_GraphicsClear($hGraphic,0x88ef0f22 )
    
        Do
        Until GUIGetMsg() = $GUI_EVENT_CLOSE
    
         $hSaveBitmap = _GDIPlus_BitmapCreateFromGraphics($iWidth, $iHeight, $hGraphic) ; Bitmap aus Grafik zum Speichern erstellen
        _GDIPlus_ImageSaveToFile($hSaveBitmap,@ScriptDir& "\Rechteck.jpg")
    
    ; Ressourcen freigeben
        _GDIPlus_GraphicsDispose($hGraphic)
        _GDIPlus_GraphicsDispose($hSaveBitmap)
    
        _GDIPlus_Shutdown()
    
    EndFunc   ;==>_Main
    Alles anzeigen
  • Mit GDI+ das Image beim Speichern überschreiben

    • Trubadour
    • 21. Juli 2017 um 15:41

    Vielen Dank an alle,

    Ich habe es jetzt ähnlich wie

    Zitat von Kanashius

    Kannst ja die zu öffnende Datei erst woanders hinkopieren, dann öffnen und unter dem alten namen speichern. Löschst am Ende die kopierte Datei und fertig.

    ....gemacht. @Kanashius: Wie willst du die Exif-Daten deiner 2. Idee denn wieder mit der neuen Datei zusammenfügen?

    UEZs Vorschlag wird auf alle Fälle nötig, wenn man noch mehr mit dem Image macht.

    Auch Microsoft schreibt zu gdip_imagesavetofile : "GDI+ does not allow you to save an image to the same file that you used to construct the image."

    Vor dem Problem dürften dann ja schon viele gestanden haben...

    Falls es wen interessiert, hier der Workarround, der bei mir funzt:

    AutoIt
    #include <GDIPlus.au3>
    
    
    _GDIPlus_Startup ()
    
    
    $sPath="C:\Dokumente und Einstellungen\Ich\Eigene Dateien\Temp\test"
    $sFilename="Capture_00068.JPG"
    $sFile_reel=$sPath & "\" & $sFilename
    $sFile_tmp=$sPath & "\tmp_" & $sFilename
    $hFile = _GDIPlus_ImageLoadFromFile($sFile_reel)
    
    
    ;
    ;hier kann man was machen, exif verändern z.B.
    ;
    
    
    _GDIPlus_ImageSaveToFile($hFile, $sFile_tmp)
    	If @error Then 	MsgBox(0, "error",@error)
    
    
    _GDIPlus_ImageDispose($hFile)
    
    
    Filedelete($sFile_reel)
    FileMove($sFile_tmp,$sFile_reel) ;rename to original Name
    	If @error Then 	MsgBox(0, "Filerename error",@error)
    
    
    _GDIPlus_Shutdown()
    Alles anzeigen
  • Mit GDI+ das Image beim Speichern überschreiben

    • Trubadour
    • 20. Juli 2017 um 23:05

    Hallo Alpines,

    es funktioniert zwar, doch leider werden dabei die exif-Daten gelöscht. Kann man nicht irgendwie ein neues Handle basteln, ohne die Originaldaten (incl. exif) zu verändern?

  • Mit GDI+ das Image beim Speichern überschreiben

    • Trubadour
    • 20. Juli 2017 um 22:15

    Hallo zusammen,

    folgender Code funzt nicht so, wie er soll:

    AutoIt
    #include <GDIPlus.au3>
    
    
    _GDIPlus_Startup ()
    
    
    $hFile = _GDIPlus_ImageLoadFromFile("C:\Dokumente und Einstellungen\Ich\Eigene Dateien\Temp\test\Capture_00057.JPG")
    
    
    _GDIPlus_ImageSaveToFile($hFile,"C:\Dokumente und Einstellungen\Ich\Eigene Dateien\Temp\test\Capture_00057.JPG")
             If @error Then 	MsgBox(0, "error",@error)
    
    
    _GDIPlus_ImageDispose($hFile)
    
    
    _GDIPlus_Shutdown()
    Alles anzeigen

    Ich kann keine Änderungen in die gleiche Datei zurückspeichern. Im Beispiel verändere ich nichts, da das egal ist. Auch so erhalte ich den Fehlercode 10, der leider bei _GDIPlus_ImageSaveToFile in der Hilfe nicht erklärt ist. Speichere ich in eine(n) andere Datei(namen), funzt es. Ich nehme an, GDI+ sorgt mit dem Handle dafür, das die Datei gesperrt ist. Aber ich würde eben gerne die Datei überschreiben und nicht dauernd neue Dateien erzeugen müssen.

    Gibt es einen Workaround?

    VG, Jens

  • Programmier-Ideen?

    • Trubadour
    • 6. November 2016 um 11:46

    hi TrueVision,
    ich wollte immer mal auf jpgs zeichnen und beschriften können. Aus Performancegründen und damit ich Gezeichnetes zurücknehmen kann, kommt alles in ein Array oder DB. So jetzt das sich mir stellende Problem.
    Ich würde gerne über dem Originalbild mindestens 2 weitere durchsichtige Layer haben. Der erste Layer wird aus der DB bemalt und der 2. Layer ist aus performanten Gründen dazu da, das auf ihm gezeichnet wird. Ist z.B. eine Linie gezeichnet, kommt sie in die DB und landet auf Layer 1.
    Diese beiden Layer müssten natürlich mit dem jpg zusammen verschiebbar und vergrößer- und verkleinerbar sein.
    Das als UDF wäre super. Ich bin dazu bisher zu blöd, also für die grafische Seite und gefunden habe ich so etwas auch noch nicht.
    Also die UDF muss nicht mehr können als:
    Lade jpg (Sozusagen Layer 0)
    Male auf durchsichtigen Layer 1
    Male auf durchsichtigen Layer 2

    Den Rest kann sich ja jeder selbst selbst stricken.

    Das wäre aus meiner Sicht die Grundlage für ein Paint oder CAD oder Beschriftungstool..

  • ERLEDIGT --> Raspberry Pi® 2 Model B Advanced-Set 1 GB

    • Trubadour
    • 25. August 2016 um 22:01

    Hallo Alina,
    ich hab jetzt nicht in deine Links geschaut, aber du benötigst für Eletronik-löterei auch Elektroniklot. Das hat das Flußmittel gleich im Kern mit drin und benötigt nicht so hohe Temperaturen. Es gibt viele Bauteile, die wollen schnell angelötet werden bevor sie innen den Hitzetod sterben.
    Das Elektroniklot ist dann auch wahlweise ziemlich dünn, aber auch teurer.

    VG, Jens

  • Seltsames Leuchten in den Wolken

    • Trubadour
    • 13. Juli 2016 um 23:51

    @'Mars
    Du brauchst dich nicht lustig zu machen. Bei deiner Beschreibung hatte ich angenommen, das du mit 10km/s pro Stunde meinst und nicht pro Sekunde. Pro Sekunde erschien mir unreal, da dann dein Phänomen mit 36000 km/h und in Wolkenhöhe ja nur ein paar Sekunden am Himmel zu sehen gewesen wäre.

    @Aspirin Junkie
    Das scheint ja wirklich eine gute Erklärung zu sein.

    Und als letzte Idee: Wenn die ISS gerade mal über uns wegdüst, machen die sich einen Spass daraus, Wolken von oben anzuleuchten....

  • Seltsames Leuchten in den Wolken

    • Trubadour
    • 9. Juli 2016 um 23:46

    hi zusammen,
    ich schieb auch noch einmal eine Idee rein. Je nachdem, wie gut Mars gucken kann, könnte das Phänomen vielleicht auch von Zugvögeln ausgelöst sein. Kraniche z.B. fliegen ziemlich hoch und könnten je nach Lichtbeugung in der Atmosphäre oder durch Gewitter noch aus sehr großer Entfernung angeleuchtet werden und wirken dann, als wenn sie selber leuchten...
    oder Ufos... ;)

    LG

    Edit: Das mit den Zugvögeln hab ich diesen Frühsommer selbst schon gesehen, weiß aber nicht, was es für Vögel waren. Sah erst aus wie Glutfunken aus einem Kamin o.ä., aber bei genauerer Betrachtung konnte man erkennen, dass es sehr weit weg war und viel zu hoch. Da es erst ca. 23 Uhr war, hat es in der Höhe halt noch die Sonne geschafft, die Vögel zu Glühwürmchen zu machen.

  • "Gegenstände" im bild zählen

    • Trubadour
    • 14. Juni 2016 um 13:47

    @Code-Jack
    wenn dein Samen auch nur halbwegs elliptisch ist, passen viel mehr Samenreihen in der Breite nebeneinander, als in der Längsrichtung liegende Samen, bei Ausrichtung in Längsrichtung. Deshalb kann man, glaube ich, nicht einfach in der Breite mit dem selben Wert messen und damit multiplizieren.
    @GerhardSchr
    Mich würde immer noch interessieren, warum man unbedingt zählen muss? Oder werden Getreidekörner heutzutage abgezählt verkauft und nicht mehr per Doppelzentner?
    Wenn zählen, dann kommt mein Vorgschlag:
    Schüttelrutsche zum vereinzeln und in parallele Glasröhrchen fallen lassen, die jeweils über Lichtschranke zählen. Da kann man dann beliebig parallelisieren, um eine höhere Zählgeschwindigkeit zu ereichen. Das reicht dann aber nur noch für einen Schnaps...

  • "Gegenstände" im bild zählen

    • Trubadour
    • 14. Juni 2016 um 00:23

    Hallo zusammen,

    Das Gewicht der Getreidekörner ist doch wahrscheinlich extrem feuchteabhängig. Also benötigt man da schon einmal einen Standard, um vergleichen zu können (z.B. immer bei 30% Restfeuchte)
    Da Zählen keine gut vergleichbaren und auswertbaren Ergebnisse bringen dürfte, schlage ich folgendes vor:
    Die Größe der Getreidekörner werden mit Mittelwert und Standardabweichung bestimmt. So machen wir das bei Pilzsporen, die unter dem Mikroskop ähnlich aussehen, wie die Getreidekörner.
    Dabei werden dann nur flach- und gleichliegende vermessen (z.B. wenn man den die "Keimspalte?" der Körner sehen kann). Es reichen dann ca. 30 vermessene Körner für eine sehr aussagekräftige Statistik.
    Bei der statistischen Methode kann man dann auch Ausreisser entfernen und Tests auf Normalverteilung durchführen.
    Hat man die statistischen Parameter, kann man sie mit oder in Feldversuchen o.ä. vergleichen.

    Meine Theorie dazu wäre dann als Beispiel:

    Körnermessung 2014 (95%): Mittelwerte Länge 11 +/- 0,2 x Breite 4 +/- 0,1 mm
    Körnermessung 2015 (95%): Mittelwerte Länge 10 +/- 0,1 x Breite 4,5 +/- 0,08 mm

    Bei Körnern 2014 benötigt man 200g Körner pro m² Aussaat
    Bei Körnern 2015 benötigt man 180g Körner pro m² Aussaat

    Liegen die Größen 2016 dazwischen, kann man interpolieren.

    Bei Pilzsporen rechnen wir über die Volumenformel für Elipsoide, um vermessene Länge und Breite in eine theoretisch einigermassen passende Beziehung zu bringen. Der Fehler zur tatsächlichen Form relativiert sich, wenn man immer so rechnet.

    Das wäre mein grundsätzlicher Ansatz zur mir noch nicht ganz klaren Thematik....

  • Mein Prog stürzt unter WIN 10 ab!

    • Trubadour
    • 9. Mai 2016 um 21:53

    Vielen Dank, alpines! Ich hoffe, es hilft dem User weiter...

  • Mein Prog stürzt unter WIN 10 ab!

    • Trubadour
    • 3. Mai 2016 um 23:01

    Hallo zusammen,

    Ich habe mal ein Freeware-Prog geschrieben, welches bis jetzt jahrelang unter xp bis win8 lief. Jetzt wurde ich angemailt, dass es unter Win 10 abstürzt. Jedenfalls bei diesem User.
    Ist es möglich, dass das Programm nicht einfach eine Datei irgendwo hinschreiben darf, von wo es vorher Daten gelesen hat?
    Es ist sehr groß (wegen mal kurz zeigen) und ich habe kein Win10. Gibt es eine Möglichkeit, dem Prog alle Rechte zu geben, so dass ich die von mir angedachte Problematik ausschliessen kann? Oder kann es auch was anderes sein?
    Leider stecke ich momentan nicht mehr so drin, würde es aber gerne weiter zum Download anbieten.

    VG in die Gemeinde...

  • Vorlage für ein Malprogramm mit AutoIt

    • Trubadour
    • 2. Mai 2015 um 11:27

    Vielen Dank, Oscar...

  • Vorlage für ein Malprogramm mit AutoIt

    • Trubadour
    • 1. Mai 2015 um 17:13

    Mach ich, danke!

  • Vorlage für ein Malprogramm mit AutoIt

    • Trubadour
    • 1. Mai 2015 um 16:36

    Aha, das ist aber schade...
    Und wie komme ich da jetzt dran? Kann Oscar die Datei nicht einfach wieder neu anhängen?

  • Vorlage für ein Malprogramm mit AutoIt

    • Trubadour
    • 1. Mai 2015 um 14:33

    Hallo Oscar,
    gibt es einen Grund, warum man dein Programm nicht herunterladen kann?
    Ich hab es irgendwo schon einmal gespeichert, aber jetzt hier im Urlaub nicht dabei... :(
    Jetzt hab ich aber die Zeit, endlich mal hinein zu schauen, wie du das machst..
    In deiner Programmsammlung ist es jedenfalls nicht zu finden oder ich bin zu blind...
    Und kann man da auch ein Bild als Hintergrund laden und reinmalen?
    VG, Jens

  • die neuen GDIplus Funktionen funzen nicht unter XP

    • Trubadour
    • 4. Dezember 2014 um 23:04

    Hallo Andy,

    es ging mirt nicht um eine spezifische Funktion. Ich bin auf die neuen Funktionen gestoßen, als ich recherchiert hab, wie man vielleicht auf verschiedenen Layern malen und dann die Layer zusammenfügen könnte.
    Aber ich glaube, ich muß mit Childs arbeiten.
    Und..., wenn ich es schaffe, für meine alten Ati Mobility Radeon 9700 einen Treiber unter win7 zu installieren, wechsel ich sofort.
    2 Win7pro liegen hier rum..

    VG, Jens

  • die neuen GDIplus Funktionen funzen nicht unter XP

    • Trubadour
    • 4. Dezember 2014 um 11:33

    Hallo UEZ,

    vielen Dank für die richtige Suchkombi.. GDI+ v1.1
    Hier http://www.winsxs.org/?OtherTech/thread-13-1-1steht, wie es geht.
    Hab ich aber noch nicht ausprobiert..

    VG, Jens

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™