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

Beiträge von Mars

  • GDI+ Transparenz Problem bei Bildüberlappung

    • Mars
    • 27. Oktober 2017 um 21:29

    Falls du nicht in die SB schaust: Großes Lob an Dich. Das hier ist ein Vorbildlicher H&U Thread in welchem das Problem sauber beschrieben, mit Beispielskript und Bildchen versehen und anschließend eine Lösung für jeden zugänglich gemacht wurde. So sollte ein guter H&U Thread aussehen :)

    lg

    Mars & Musashi

  • [GDI+] Bildaufteilung, Bildformat, Ideen

    • Mars
    • 6. Oktober 2017 um 11:52
    Zitat von Musashi

    Bildname : Mona512.png

    Auflösung Originalbild : 203 x 203 DPI , Komprimierung = JPEG, quality: 84, subsampling ON (2x2)

    Hier erhalte ich mit dem Anzeigeprogramm Irfanview folgende Meldung : "Mona512.png ist eine JPG Datei mit falscher Erweiterung"

    Jop, hier habe ich scheinbar Mist gebaut, was das Dateiformat angeht. Hatte mich schon gewundert, warum die 512px breite .png kleiner ist als die 256px Version :D

    Zitat von Musashi

    Den Test mit einer 5 MB großen .jpg-Datei habe ich nach ca. 25 min. abgebrochen -> kein Fehler, war wohl noch am Rechnen ;)

    Das ist normal. Das Programm braucht pro Pixel annähernd konstante Zeit (pro "Ebene", aber das vernachlässigen wir mal). Nach einer kurzen Überschlagsrechnung ergibt das für ein 8 Megapixelbild ca. 39 Minuten (Plusminus).

    Zitat von Musashi

    Anregung :

    Könntest Du in den Dateinamen der .zip und der imagesplit.au3 eine Versionsnummer integrieren (z.B. imagesplit_1_0_0.au3).

    Ich vermute, da werden noch diverse neuere Programmstände kommen, und so kann man sie leichter unterscheiden.

    Wird beim nächsten Upload erledigt, Chef :)

    AspirinJunkie Die Standardabweichung habe ich gewählt, da mir keine gute Methode eingefallen ist den Informationsgehalt wie z.B. bei einem Zeichenstrom zu berechnen. Dort lässt sich ja einfach jedem Zeichen eine Häufigkeit zuordnen und mit dem Wissen über die Anzahl verschiedener Zeichen und der Nachrichtenlänge lässt sich ein Entropiewert ausrechnen (dafür habe ich glaube ich schon ein Skript hier im Forum gepostet... lang ists her). Aber wenn man z.B. 4x4px hat und jeder Pixel eine andere- aber ähnliche Farbe hat, hätte man für jeden Px die Häufigkeit 1/16 und damit überall den gleichen Informationsgehalt, egal welche Farben die 16 Pixel tatsächlich haben. Man könnte das ggf umgehen indem man auf eine niedrigere Bitrate wechselt (z.B. wenn man nicht mehr 8Bit/Farbe sondern 4Bit/Farbe nutzt, dann sind "ähnliche" Pixel "gleich" und die oben genannte Entropiemethode greift wieder), aber ob das eine gute Idee ist weiß ich nicht :D Zumindest habe ich jetzt erstmal etwas Lektüre, danke dafür :)

    Der Output mit gleichfarbigen Flächen ist nur ein Beispiel (damit man sieht wie das Bild mit einfarbigen Flächen aussehen würde^^). Einen tatsächlichen Algorithmus zur Kodierung der Einzelbilder habe ich noch nicht, der kommt dann irgendwann später. Wie genau das von statten gehen soll steht auch noch in den Sternen, über Fourierreihen habe ich nachgedacht, aber genau das gleiche Prinzip benutzt jpg, villeicht gibt es ja noch etwas anderes :)

    Edit: Das mit der Überlagerung von Gaußfunktionen am Ende der pdf gefällt mir. Damit könnte man in 2D ebenfalls einen Verlauf für die R G B Werte basteln der das Original(teil)bild wiederspiegelt.

    lg

    M

  • [GDI+] Bildaufteilung, Bildformat, Ideen

    • Mars
    • 5. Oktober 2017 um 23:36

    Guten Tag,

    Vorab eine Info: Das hier soll eher ein "Ideen und Anregungen" Thread werden.

    Grundidee: Erstellung eines eigenen Bildformats

    Benötigte Elemente: (meiner Meinung nach)

    - Bildaufteilungsmethode (Teilt ein Bild in kleine Einzelbilder die einfacher kodiert werden können als das Gesamtbild)

    - Bildkodierungsmethode (Kodiert ein Einzelbild mit möglichst geringer Datenmenge)

    - Sonstiges (Qualitätseinstellungen von unkenntlichem Pixelsalat bis verlustfrei, sonstiges)

    Im Anhang befindet sich ein Skript, welches die Aufteilung eines Bildes in Teilbilder ermöglicht (damit wird Part 1 des Bildformats in Angriff genommen). Es sind extrem viele Kommentare und ganze Textpassagen vorhanden die ich hier nicht nochmal alle wiederholen möchte. Jeder ist dazu eingeladen Verbesserungen, Vorschläge und alle Ideen (auch mysteriöse die auf den ersten Blick keinen Sinn ergeben) einzubringen.

    Eine Umsetzung in ASM ist erstmal völlig drittrangig, da das Grundgerüst vermutlich noch mehrfach umgeworfen wird. Die native AutoIt-Version braucht auf meinem PC für "kleine" Testbilder unter 20 Sekunden (und ich wette da kann man durch Optimierungen noch 50%+ rausholen) und ist daher gut geeignet um alles mögliche auszuprobieren.

    Edit1: Die aktuelle Version ist selbstverständlich völlig unausgereift und wird wahrscheinlich manchmal abstürzen. In diesem Fall bitte unbedingt versuchen den Fehler reproduzierbar hier im Thread zu zeigen.

    Viel Spaß mit dem Skript, ich freue mich auf jeden der Lust hat daran herumzubasteln ;)

    lg

    Mars

    Dateien

    ImageSplit.zip 157,43 kB – 400 Downloads
  • GDIPlus - Bereich immun machen

    • Mars
    • 8. September 2017 um 16:27

    Ich weiß leider nicht mehr genau wie das funktioniert, aber man kann mit RectRgn Bereiche definieren in denen (nicht) gezeichnet wird. Du müsstest also in der Lage sein Ein gfx zu erstellen welches in bestimmten Bereichen nicht überzeichnet wird. (oder eine Bitmap die in diesen Bereichen volltransparent ist).

    Einziger Stichpunkt der mir dazu einfällt ist folgendes:

    https://www.autoitscript.com/forum/topic/12464-hole-in-gui/

    M

  • Poker-Card-Machine v3

    • Mars
    • 25. August 2017 um 12:05

    Moin,

    100 Spiele in Gamemode 1 (jedes Mal neue Karten).
    Habe jedes Mal 10% gesetzt und nach 100 Spielen immerhin 14 Münzen gewonnen^^
    unnamed.png
    Edit: Manchmal habe ich mich verklickt, und ich hatte nichtmal auf dem Schirm was ein "Flush" ist. Von daher schätze ich, dass man nach 100 Spielen wesentlich mehr Geld haben kann.
    M

  • Windows Storage Space ?

    • Mars
    • 30. Juni 2017 um 14:56

    Die Sektorenfehler kann man durch komplettes formatieren und ggf ein paar mal vollschreiben und wieder leermachen beheben oder? Das müsste doch daher kommen, dass die magnetisierung mit der Zeit nachgelassen hat und wenn man ein paar 0en und 1en drüberschreibt müsste das doch wieder klappen? nur zur Info, vllt muss man sie ja nicht ersetzen, sondern nur mal ein bisschen polieren :)

  • Windows Storage Space ?

    • Mars
    • 30. Juni 2017 um 14:13

    Moin,

    Ich bin schon seit einiger Zeit an diesem Thema interessiert, habe aber bisher keine Erfahrungen damit gesammelt. Aktuell werkeln als Netzwerkfestplatten bei mir zu Hause 2 externe USB2 Platten mit 1TB und 2TB die an einem ausrangierten Windows Tablet angeschlossen sind. Das ist natürlich alles andere als ausfallsicher und jahrelang ungenutzte Daten sind bereits nicht mehr lesbar (scheinbar gibt es irgendwelche zufällig auftretenden Datenverluste mit der Zeit, die Platten sind auch schon ziemlich alt).

    Daher habe ich mir folgendes überlegt:
    - Bei Freunden sämtliche verstaubten aber funktionierenden externen USB Festplatten/Sticks/sonstiges einsammeln die >= 16GB Speicher besitzen.
    - Einen kleinen Rechner besorgen (ggf einen kleinen NUC mit win10).
    - Via Windows Storage Space all diese gesammelten Speichermedien zusammenführen (parität als Option zur redundanz wählen).
    - Das dabei entstehende Laufwerk ins Netzwerk einbinden.

    Meine Anforderungen sind:
    - Großes einheitlich benutzbares Laufwerk (zusammen mit meinen externen Platten möchte ich über 5TB kommen (ggf auch noch höher))
    - Halbwegs akzeptabele Geschwindigkeit (muss nicht so schnell sein, ich schiebe ja nicht andauernd mehrere GB an Daten hin und her, aus einem Testbericht (unten auch verlinkt) geht etwa 1,5MB/s bei 12x16GB USB Sticks hervor. Ich weiß aber nicht in wiefern das repräsentativ ist wenn man nicht USB2 nutzt und ggf auch Festplatten/SSDs zusätzlich einbindet. 10MB/s wären schon angenehm, aber nicht unbedingt erforderlich)
    - Ausfallsicher (falls von den z.B. 10 Geräten z.B. eines ausfällt sollte sich der Spaß nicht verabschieden, man sollte das defekte Teil einfach ausbauen oder ersetzen können)
    - ggf. Datenauffrischung (also die Daten lesen, zwischenspeichern und neu abspeichern, sodass keine "alterung" eintritt)

    Bevor ich irgendwas in der Richtung versuche (ist immerhin mit gewissen invesititonen verbunden) möchte ich mich erkundigen ob jemand damit Erfahrung hat.

    Interessante Links dazu sind folgende:
    - https://www.wintotal.de/speicherplatze…ws-8-verwalten/
    - https://www.pcwelt.de/ratgeber/Stora…D-10038035.html
    - http://www.com-magazin.de/tipps-tricks/n…ten-886655.html
    - https://superuser.com/questions/1067…-storage-spaces
    (Alles nicht sehr wissenschaftlich, aber falls man das alles durchliest weiß man in etwa um was es geht)

    Edit:
    Klar ist folgendes: Wenn ich einfach neue (hybrid) Festplatten mit >=2TB kaufe habe ich wesentlich schnelleren Speicher der auch wieder einige Jahre seinen Dienst tut. Wahrscheinlich ist es auch günstiger & schneller eine "Netzwerkfestplatte" zu kaufen die direkt einen Ethernetanschluss/WLAN hat, als einen NUC. Mir gehts aber auch ein bisschen um den Bastelspaß und einfach die Tatsache, dass kleine Einzelteile softwareseitig integriert werden können, sodass sie ein großes Ganzes ergeben.

    lg
    M

  • Programm mit vielen AdlibRegister() aufrufen / Performance / NICHT Multithreading/Parallelprozessing

    • Mars
    • 29. Juni 2017 um 07:32

    Ich arbeite grundsätzlich so, dass ich exakt weiß an welcher Stelle im Programm welcher Code läuft. Soll etwas Zeitlich wiederholt werden kann das im Regelfall auch nicht "überall" geschehen (z.B. bei einer grafischen Anwendung alle 16,66ms ein Redraw für 60FPS, da muss man genau wissen, ob das Bild überhaupt schon fertig gerendert ist). Adlib schiebt den auszuführenden Code immer irgendwo an eine nicht näher spezifizierte Stelle ein. Eine gute alternative sind Funktionen die mit einem internen Timer versehen sind, sodass sie auch nur alle xxxx Millisekunden tatsächlich durchlaufen werden.

    AutoIt
    HotKeySet('{ESC}', 'Xit')
    Global $bExit = False
    
    
    While Not $bExit And Sleep(10)
    	AlleXms()
    
    
    WEnd
    
    
    Func AlleXms()
    	Local Static $iTimer = TimerInit()
    	If TimerDiff($iTimer) < 500 Then Return
    	$iTimer = TimerInit()
    	ConsoleWrite('+ Uhrzeit: ' & @HOUR & ':' & @MIN & ':' & @SEC & @CRLF)
    EndFunc
    
    
    Func Xit()
    	$bExit = True
    EndFunc
    Alles anzeigen


    M

  • Solange warten bis die If oder ElseIf bedingung zutrifft.

    • Mars
    • 20. Juni 2017 um 12:27

    Deshalb liest man beim Registrieren im Forum ja auch die Forenregeln.

  • Variablen Deklaration Unterschiede

    • Mars
    • 20. Juni 2017 um 12:23

    Globale Variablen sind teilweise auch etwas problematisch, z.B. wenn man mehrere Skripte zusammenführt und beide teilweise die gleiche Bezeichnung für Globale Vatiablen haben. Dann muss man umständlich umbenennen und schauen, dass nichts mehrfach vorkommt. Abhilfe schafft es grundsätzlich via Local bzw Local Static zu deklarieren und im Notfall eine "Variablenausgabefunktion" die intern LocalStatic nutzt und von überall aus den Zugriff auf die gleiche Variable ermöglicht. Das mag kleinkariert klingen, aber in einigen Fällen kann diese Vorgehensweise eine Menge Arbeit ersparen (im Ausgleich dafür geht etwas Ausführungsgeschwindigkeit drauf, da der Zugriff via GlobalVar schneller ist als voher eine Funktion aufzurufen die einen zur gewünschten Variable weiterleitet, also nicht in inner loops nutzen).

    Ist quasi OT, aber ich wollte es an dieser Stelle loswerden :)

    M

  • PlanMaker UDF (Tabellenkalkulation von SoftMaker-Office und FreeOffice)

    • Mars
    • 19. Juni 2017 um 09:39

    Moin,

    Es gibt scheinbar mehrere Versionen vom Softmaker Office (ich bin nichtmal sicher, ob da die gleichen Hersteller dahinterstehen, obwohl der Firmenname gleich ist) und zwar einmal Softmaker Office und einmal Softmaker FreeOffice. Letzteres ist gratis, wie der Name schon vermuten lässt und schaut auf den Ersten Blick wie ein Open/Free/Libre Office derivat aus. Für welche Version ist diese UDF? (ich möchte nicht auf Verdacht etwas installieren)

    lg
    M

  • Stottern unter Windows 10

    • Mars
    • 3. Juni 2017 um 12:21

    Ein Problem das ich seit Win10 beobachte ist, dass der Rechner immer für 30-40sek komplett einfriert (jeder erwartet einen BSOD). Interessanterweise läuft Musik weiter (vllt ist der Soundkartenpuffer für 1min ausgelegt, keine Ahnung). Das passiert im schnitt nach 10-20min nach dem Einschalten und tritt dann bis zum nächsten Systemstart (nur wenn der Rechner komplett aus war, neustart und Energiesparmodus zählen nicht) nicht wieder auf.

    Tritt aber nur bei einem meiner Rechner auf, ist also vermutlich irgendeine Hardwareunverträglichkeit mit Win10 wodurch im Hintergrund das System für kurze Zeit lahmgelegt wird und anschließend nachdem eine "Umleitung" gelegt wurde problemlos weiterläuft.

  • 16 bit Anwendungen?!?!

    • Mars
    • 1. Juni 2017 um 14:04

    Da du wohl keine direkten Informationen Lesen und Schreiben kannst ist es ausnahmsweise ggf sinnvoll einen Versuch mit Screenshots + Imagesearch zu wagen. Dann kannst du die gewünschten Buttons usw lokalisieren und die Maus automatisieren. Wenn man diese Methode "richtig" anwendet ist damit nahezu alles möglich, man hat aber einen riesigen Aufwand, da man viele Eventualitäten mit kleinen Bildchen abfragen muss. Das ich es nochmal erlebe, dass es möglicherweise eine Anwendung für diese Methode gibt die nichts mit Bots zu tun hat... Es gibt noch Wunder :D

  • GDI+ Lightning / Blitz Effekt

    • Mars
    • 18. Mai 2017 um 06:33

    Sehr schön :)

  • Grafische Darstellung von Messwerten

    • Mars
    • 4. Mai 2017 um 10:38

    Ist zwar ein bisschen OT, aber ich habe im Zuge meiner Bachelorarbeit ebenfalls mit einem Arduino Messungen durchgeführt. Der dafür gebastelte Plotter sieht in etwa so aus:2017_05_03_14_03_30.png

  • Nutzungsrechte Skripte

    • Mars
    • 19. April 2017 um 20:00

    Im Prinzip habe ich mich auch sehr ungenau ausgedrückt. Ich habe nichts gegen die Nutzung meiner "Funktionen" in einem großen Ganzen das dann komerziell eingesetzt wird, solange man das "große Ganze" als eigenes Werk und nicht als "90% C&P, 10% Eigenarbeit" beschreiben kann. Zum Glück (oder zum Pech, wer weiß...) habe ich nicht so viele UDFs online wie viele andere User hier, von daher betrifft mich das eher zweitrangig...

  • Nutzungsrechte Skripte

    • Mars
    • 18. April 2017 um 20:22

    Ich habe jetzt leider nicht alles gelesen, möchte aber dennoch etwas Senf abgeben.

    Ich habe es immer für selbstverständlich gehalten, dass ausnahmslos alles was ich öffentlich poste nichtkomerziell beliebig genutzt werden kann. Ich wurde hier von einem blutigen Anfänger (der ein bisschen Mathe kann) zu jemandem der irgendwelche Geräte programmiert die irgendwelche Daten sammeln und auswerten. Das wäre nicht möglich gewesen, wenn ich nicht alles hier befindliche nach eigenem Ermessen benutzen dürfte. (Ich lege bei meinen Projekten grundsätzlich den Quellcode bei und habe die Urheber, Helfer und Co-Autoren immer mit Name@AutoIt.de im Text vermerkt. Vermutlich wird aber nie wieder irgendjemand die Codes ansehen :D)

  • Java lernen ein Fehler?

    • Mars
    • 4. März 2017 um 04:47

    Falls es hilft einen weiteren Hut in die Runde zu werfen, schau dir mal GO an. Habe mich dort etwas eingearbeitet und bin sehr zufrieden (schreibt sich wie ne Mischung aus C und Autoit, ohne Pointerarithmetik, mit optionalem OOP, ohne die Strenge oder Vielfältigkeit der Objektbeziehungen von Java, UND OHNE SEMIKOLONS). Die Sprache ist allerdings noch jung und besitzt bei weitem nicht so viele Bibliotheken wie die meisten anderen Sprachen. Wie viel Zukunft sie hat steht auch noch in den Sternen.

  • Wann ist AutoIt nicht mehr die richtige Wahl

    • Mars
    • 28. Februar 2017 um 00:24

    Durch die fehlende Ausführgeschwindigkeit zwingt die Sprache den Programmierer oft dazu effizient zu programmieren. Während man in C kein Problem hat, wenn z.B. nach dem Klick auf einen Button 100ms vergehen, wird man in AutoIt locker 10s warten müssen. Das ist Nach- und Vorteil zugleich, da man hier mit den eigenen Fehlern wesentlich stärker konfrontiert wird. Problematisch ist natürlich der (je nach Problem) unverhältnismäßig große Aufwand um die zu optimierende Funktion zu analysieren und zu verbessern. Wenn man das aber schon sehr oft getan hat bekommt man ein "Gefühl" dafür welche Wege schneller sind als andere, sodass man insgesamt ein besserer Programmierer wird und nicht mehr so lange für Optimierungen braucht.

  • GuiCtrlColorChooser - Moderne Farbauswahl (Version 1.0)

    • Mars
    • 1. Februar 2017 um 16:00

    Bei mir (Win 10) schmiert das Skript ohne Errormeldung ab. (also in der Konsole steht nichts, das Fenster friert ein und Windows beschwert sich).

    Als kleiner Tip für die Farbnamen:
    Du benutzt dR^2 + dG^2 + dB^2 um den Abstand zu ermitteln. Der wahrgenommene Abstand ist aber nicht linear in Bezug auf RGB. Du könntest das Farbsystem (ich glaube BugFix hatte eine UDF zur Umrechnung von Farbsystemen) wechseln und in einem Anderen System den Abstand bestimmen, sodass die wahrgenommenen Unterschiede (bei gleichem Farbnamen) minimiert werden.

    lg
    M

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™