Genial einfaches Tool zur Web Recherche - Smartclip

  • Gibt es denn einen bestimmten Grund warum du den Systemcursor nicht verändern willst? Das geht immer noch am einfachsten:

    [autoit]

    #include <WinAPIRes.au3>

    [/autoit][autoit][/autoit][autoit]

    Local $hPrev = _WinAPI_CopyCursor(_WinAPI_LoadCursor(0, 32512))

    [/autoit][autoit][/autoit][autoit]

    _WinAPI_SetSystemCursor(_WinAPI_LoadCursorFromFile(StringRegExp(@AutoItExe, ".*\\", 1)[0] & 'Examples\Helpfile\Extras\Lens.cur'), 32512)
    Sleep(5000)
    _WinAPI_SetSystemCursor($hPrev, 32512)

    [/autoit]

    Alternativ kannst du via GDI dein Image an die Mausposition zeichnen. Der Systemcursor ist aber dann immer noch sichtbar!

    PS: Dein Profilbild macht mich irre...

    Einmal editiert, zuletzt von Yjuq (6. August 2017 um 20:52)

  • Herzlichen Dank, die letzten beiden Posts haben mich auf den richtigen Weg gebracht, da Smartclip eigentlich ohne GUI läuft werde ich der Version von
    @Make-Grafik den Vorzug geben, sie ist einfach und passt ideal zum Wunsch des Users.
    Inwiefern macht dich mein Avatar irre, im positiven oder im negativen Sinne? Ich finde ihn geil, hatte ich noch irgendwo in meinem Humorbilder-Archiv.

    @bazii deine Version wird noch woanders eine Verwendung finden Danke auch dafür.

  • [...] Inwiefern macht dich mein Avatar irre, im positiven oder im negativen Sinne? Ich finde ihn geil, hatte ich noch irgendwo in meinem Humorbilder-Archiv.

    Dein Profilbild macht mich im negativen Sinne irre. Es wirkt auf mich wie ein kompletter Widerspruch in sich selber der zugleich aber natürlich und selbstverständlich wirkt. Und genau das regt mich dabei so extrem auf... Hätte nie gedacht dass ein vermeintlich harmloses Bild solche Gefühle in mich auslöst...

    Wie erkläre ich das denn nun am besten? Also, die Abbildung des Bildes ist erst einmal unnatürlich. Eine Kreuzung zwischen einen Hund und einen Menschen ist absolut unnormal. Jedoch passen die Gesichtszüge (Augen / Stirn / Mund / Gesichtsausdruck) so gut zum Hunde Körper dass das Bild in sich natürlich wirkt. So als ob der Hund, wie er abgebildet ist, schon immer dieses Gesicht genau so hatte. Und genau dieser Widerspruch lässt mein Blut wallen und gleichzeitig erschauern. Aber das liegt eher an meiner abnormalen Betrachtungsweise der Dinge.

    Das Bild ist für mich genial und auch erschreckend zugleich. Und genau das treibt mich in die Irre weil ich nicht eindeutig weiß was ich davon halten soll...

    Um mal deine Frage zu beantworten, muss dich aber nicht weiter stören. x)

    ---

    €dit:
    Außerdem mag ich die Vorstellung nicht, dass mich ein Hund mit solch einem Gesichtsausdruck anschaut...

    Einmal editiert, zuletzt von Yjuq (7. August 2017 um 01:52)

  • Hallo @Make-Grafik !

    Das Bild ist für mich genial und auch erschreckend zugleich. Und genau das treibt mich in die Irre weil ich nicht eindeutig weiß was ich davon halten soll...

    Um deinem Unbehagen neurowissenschaftlich ggf. auf die Spur zu kommen :
    (Quelle : wikipedia->Uncanny_Valley ==> Auszug - leicht verändert)

    Als Uncanny Valley oder Akzeptanzlücke bezeichnet man einen bisher hypothetischen und paradox erscheinenden Effekt in der Akzeptanz dargebotener künstlicher Figuren auf die Zuschauer.
    Während man zunächst annehmen würde, dass Zuschauer oder Computerspieler ihnen dargebotene Avatare umso mehr akzeptieren, je fotorealistischer die Figur gestaltet ist, zeigt sich in der Praxis, dass dies nicht stimmt. Menschen finden hochabstrakte, völlig künstliche Figuren mitunter sympathischer und akzeptabler als Figuren, die besonders menschenähnlich bzw. natürlich gestaltet sind.

    Die Akzeptanz fällt ab einem bestimmten Niveau des Anthropomorphismus (Menschenähnlichkeit) schlagartig ab und steigt erst ab einem bestimmten, sehr hohen Grad wieder an. Die Akzeptanz wäre dann am höchsten, wenn sich die Imitationen überhaupt nicht mehr von echten Menschen unterscheiden lassen.
    In computeranimierten Filmen/Spielen ist das Uncanny Valley ein großes Problem bei der Darstellung von Menschen, die vom Betrachter auch als solche akzeptiert werden sollen. Angeblich sind aus diesem Grund sogar schon Filmprojekte gefloppt !

    @Tuxedo :
    Das ist keine Kritik an Deiner Avatargrafik, die technisch gut gemacht ist ^^

    Den beschriebenen Effekt kann ich, analog zu @Make-Grafik, aber auch bei mir feststellen.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Eine gute und eine schlechte Nachricht habe ich heute für Euch.
    Es gibt schon bald wieder ein kleines Update mit kleinen Verbesserungen, soweit die Gute Nachricht.

    Und ich brauche wieder Hilfe vom Profi, habe soeben festgestellt, daß beim Kopieren von PNG-Bildern mit
    Transparenzeffekten Probleme bestehen. Es wird ein Bild kopiert, aber eben nicht so wie es aussehen sollte,
    deshalb vermute ich, daß die Transparenzeffekte hier Ärger machen. Auf folgender Seite die 3 Symbole unten für
    Twitch Hitbox und Youtube sind so ein Fall.
    https://obsproject.com/

    Ich hoffe jemand hier kann mir sagen wie ich den Code modifizieren müsste um das reibungslos zum Laufen
    zu bekommen. Falls keine Möglichkeit besteht muss man das eben per Hand kopieren wie sonst auch,
    aber wenn man schon Smartclip benutzt wäre es eben eleganter wenn mans damit erledigen kann.


    Tuxedo bedankt sich schonmal.

  • Es wäre hilfreich wenn du ein vollständiges AutoIt Script lieferst welches dein Problem veranschaulicht. Und mit vollständig meine ich auch ausführbar. Ich bin leider immer etwas faul mir den Rest zusammen zu suchen und dann irgendwo zu erahnen was da jetzt genau Probleme macht. Hast du das Problem denn lösen können? Sonst sehe ich es mir mal an.

  • Sorry habe daran nicht gedacht, daß es leichter geht wenn das Script benutzbar ist. Hier Mein momentan benutztes Script, das wie gesagt
    eigentlich gut funktioniert. Blos bei Bildern mit Transparenz gehts eben nicht und sich wirklich gut informieren kann ich mich mit
    meinen knappen Englischkenntnissen auch nicht.

    Wenn du das tatsächlich hinkriegst, dann darfst du mir Vorschläge für einen neuen Avatar machen.
    Auf folgender Seite die 3 Symbole unten für Twitch Hitbox und Youtube sind so ein Fall wo Smartclip scheitert.
    https://obsproject.com/

    Einmal editiert, zuletzt von Tuxedo (28. Februar 2018 um 20:20)

  • Wusste ich's doch. Das Problem liegt nämlich gar nicht an deinen geposteten Codeabschnitt. Es liegt ganz woanders...
    Das Bild wird erst gar nicht korrekt kopiert, so sieht es aus. Wenn es nicht korrekt kopiert wird kannst du es auch gar nicht einfügen. Aber mal der Reihe nach :)

    [Blockierte Grafik: http://i.imgur.com/85YQtZe.png]

    Ich habe mal als Beispiel das Twitch Bild genommen welches du auf der oberen genannten Seite angesprochen hast. Ich hab das Bild einmal heruntergeladen und in einem Hex-Editor geöffnet. Rechts die Daten stammen von deinem Skript wenn ich das Bild kopiere. Wie du siehst wird erst gar nicht korrekt das Bild übernommen. Das Bedeutet dass der Fehler irgendwo in deiner Kopierfunktion liegt. Es scheint so, als ob du das Bild mit der curl.exe downloadest, kann das sein?


    Deine Funktion F_BildCopy() - Änder mal bei Zeile 115 die If-Abfrage folgendermaßen:

    [autoit]


    If StringLeft(ClipGet(), 4) <> "http" Then
    Local $Bild = FileOpen(ClipGet(), 16)
    $Clip[$Cstep] = FileRead($Bild)
    FileClose($Bild)
    Else
    $Clip[$Cstep] = InetRead(ClipGet())
    EndIf

    [/autoit]

    Das müsste dein Problem lösen.

    Einmal editiert, zuletzt von Yjuq (14. August 2017 um 20:08)

  • Tut mir leid @Make-Grafik, da muss ich dich enttäuschen. Vom Befehl inetread bin ich aufgrund einer Empfehlung
    gewechselt auf cURL, weil es beim inetread Probleme gab die merkwürdigerweise nur bei Windows 7 jedoch nicht bei
    Windows 10 auftraten. Windows 10 und Ich sind nicht kompatibel.

    Die Grafik wird ja gespeichert als Binärfile(sowohl bei Grafik kopieren wie auch bei Grafikadresse kopieren)
    bekomme ich das Bild als Binärfile gespeichert, aber es muss irgendwo beim Einfügen ins Clipboard ein Problem entstehen
    sobald ein Bild mit Transparenz vorliegt. Im Clipboard landen ja beim Kopieren eines Bildes 4 oder 5 Einträge die aber
    mit ClipGet nicht mitkopiert werden und ich denke, daß genau dieser Umstand das Problem darstellt.
    Ich krieg ja ein Bild eingefügt, aber es sieht nicht so aus wie das kopierte Bild. Deshalb hab ich den Ausschnitt pepostet,
    weil ich denke daß der umgeschrieben oder erweitert werden muss.

    Smartclip soll vor allem auf den Windows Systemen < Win 10 funktionieren.

    Vielleicht habe ich ja Glück und es gibt doch noch eine Lösung für mein Problem, wegen der Umstände vermute ich ja , daß
    das Problem tatsächlich in dem Ausschnitt liegt dern ich vorher gepostet habe. Ich denke daß der Teil des Scriptes
    umgeschrieben oder erweitert werden muss.

    Vielleicht hab ich ja Glück und @UEZ hat Erbarmen mit mir und kann mir bei einer Lösung helfen.
    Das Tool kommt ja sowieso Jedem User zu Gute und soll einen Nutzen für alle haben.


    Edit:
    Ich hoffe mir sei verziehen, ich habe gerade die Aktuelle Version von hier gestartet. Da ist mir wohl ein Fehler passiert.
    Wartet noch mit dem Download bis das Prolbem hier gelöst ist. Der Aktuelle download enthält nicht die neuste Scriptdatei sondern
    älteren Code. Wenn es fertig ist geht es weiter mit Version 1.84

    Danke euer Tuxedo

  • Dann meinetwegen eben so:

    [autoit]

    If StringLeft(ClipGet(), 4) <> "http" Then
    Local $Bild = FileOpen(ClipGet(), 16)
    $Clip[$Cstep] = FileRead($Bild)
    FileClose($Bild)
    Else

    [/autoit][autoit][/autoit][autoit]

    $Url = ClipGet()

    [/autoit][autoit][/autoit][autoit]

    #Region BildladeBlock
    RunWait(@ComSpec & " /c """ & '"' & @ScriptDir & '"' & "\curl.exe " & $Url & " >> " & '"' & @ScriptDir & '"' & "\Bild""", "", @SW_HIDE)

    [/autoit][autoit][/autoit][autoit]

    $hFile = FileOpen(@ScriptDir & "\Bild", 16)
    $Clip[$Cstep] = FileRead($hFile)
    FileClose($hFile)
    Sleep(200)
    FileDelete(@ScriptDir & "\Bild")
    EndIf
    #EndRegion BildladeBlock

    [/autoit]

    Das Problem hier ist das FileRead was sich jedoch mit einem FileOpen entsprechend beheben lässt...
    Die Datei wird nicht korrekt eingelesen. Warum das so ist müsste ich dann erst noch recherchieren. Aber da hab ich gerade keine Lust zu.

  • Ich habe deine Codeveränderung getestet, aber das Ergebnis ist nach wie vor dasselbe, Bilder werden kopiert, aber eben ohne die Transparenzeffekte und sie sehen so seltsam aus wie immer.

    Ich würde mich ja allzu gerne selbst schlau machen, aber Infos zu Clipboard Befehlen Winapi und GDI findet man haupsächlich in Englisch und davon verstehe ich vielleicht 10 Prozent.

  • Ich hoffe mir sei verziehen, ich habe gerade die Aktuelle Version von hier gestartet. Da ist mir wohl ein Fehler passiert.
    Wartet noch mit dem Download bis das Prolbem hier gelöst ist. Der Aktuelle download enthält nicht die neuste Scriptdatei sondern
    älteren Code. Wenn es fertig ist geht es weiter mit Version 1.84

    Hallo @Tuxedo !
    Es ist schon spät, daher steht mein Verstand ggf. etwas auf dem Schlauch || .
    Ich verstehe deinen Kommentar so, dass Du in Kürze eine aktuelle Version posten wirst, die aber immer noch das PNG-Problem enthält - Korrekt ?
    Nebenbei :
    Die Transparenzinformationen bei PNG befinden sich ja im sog. Alpha-Channel. Wie sieht ein Vergleich der
    manuell heruntergeladenen Grafik mit der von deinem Skript geladenen Grafik diesbzgl. denn aus.

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Teilweise hast du's richtig verstanden, blos daß ich den Download erst erneuern möchte wenn das Transparenz-PNG Problem behoben ist, deshalb benötige ich ja Hilfe von den Profis.

    Ich habe diesbezüglich schon einige Tests gemacht, In der Clip Variable landet eine richtige Bilddatei, ebenso wenn ich das
    Bild per curl downloade und die Datei Bild nicht lösche und sie manuell nach Bild.png umbenenne lässt sie sich ebenfalls perfekt in Word und Co einfügen mit Transparenz.
    Genau aus diesen Gründen vermute ich eben, daß die Datei anders aufbereitet werden muss um richtig ins Clipboard gebracht zu werden, damit man sie danach richtig einfügen kann.
    Im Clipboard landen ja bei so einem Kopiervorgang folgende Dinge

    8 CF_DIB
    15 CF_HDRO
    17 CF_DIBV5
    49360 Preferred DropEffect
    49393 HTML Format
    49549 text/html
    49732 text/_moz_htmlcontext
    49733 text/_moz_htmlinfo
    49736 application/x-moz-file-promise-url
    49737 application/x-moz-file-promise-dest-filename
    49738 application/x-moz-nativeimage

    Und ich denke daß da der Hund begraben liegt, das Zeug wieder irgendwie stimmig unter einen Hut zu bringen.
    Aber das geht leider über meinen Verstand hinaus.

    Einmal editiert, zuletzt von Tuxedo (15. August 2017 um 02:12)

  • Teilweise hast du's richtig verstanden, blos daß ich den Download erst erneuern möchte wenn das Transparenz-PNG Problem behoben ist, deshalb benötige ich ja Hilfe von den Profis.

    (nur am Rande, weil es mir in den Augen brennt : es heißt 'bloß', nicht 'blos' :D )

    OK, ich hatte es so verstanden, dass die HIER gepostete Version veraltet ist, und wir zur weiteren Analyse des PNG-Problems noch auf ein Update warten sollten.

    Ich vermute wie Du, dass die Transparenzinfo irgendwo bei der Aufbereitung verloren geht. Möglicherweise nur ein falscher Parameter, aber GDI ist nicht unbedingt meine Baustelle.

    Puh, schon ganz schön spät - ich werde jetzt ist Bett gehen. Solltest Du vielleicht auch machen, dann ist nachher der Kopf wieder klar ^^ .

    Gruß Musashi

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."

  • Soweit ich es verstanden habe, willst du 32-bit Bitmaps mit Transparenz in den Clipboard kopieren.

    Versuche es mal mit dieser Funktion:

    Das Kopieren von größeren Bitmaps dauert länger, da AutoIt nicht schneller kopieren kann. Das riecht förmlich nach einem Inline ASM Boost (gelle Andy ^^ ).

    Das Bild wird mit XnView richtig dargestellt, mit IrfanView nicht. Andere Programme habe ich nicht getestet.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Ich habe die _WinAPI_BitmapCopyToClipboard() Funktion ein wenig erweitert:

    Je nach Anwendung funktioniert der jeweilige Modus.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

    Einmal editiert, zuletzt von UEZ (16. August 2017 um 23:30) aus folgendem Grund: Kleines Update.

  • Muss dich leider entäuschen, nach der Error-Beseitigung von wegen unbekannte Funktion wird ein Bild kopiert,
    aber eingefügt wird es als Ring mit schwarzem Hintergrund.

    Wenn es für eine eigentlich einfache Funktion solch monströsen Code braucht verzichte ich wohl besser auf den Luxus,
    dann muss man eben die Transparenz-Bilder mit pausiertem Smartclip von Hand kopieren.
    Das funktioniert wunderbar und solange man nicht eine ganze Seite mit Logos kopieren will ist es wohl auch vertretbar.

    Schade, daß es nicht sein will.

  • Hast du alle 3 Modi getestet?

    Und wie gesagt unterstützt nicht jede Applikation die Formate DIBv5 und PNG.

    In Excel kann ich z.B. das PNG Format benutzen. XnView unterstützt partiell DIBv5.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Rückmeldungen, ich hasse Autoit jeden Tag etwas mehr.
    Schonmal äußerst merkwürdig ist, daß ich das Script problemlos ausführen kann beim Start übern
    Dateimanager, aber es bringt Fehler oder wenn es läuft bringts falsche Ergebnisse wenn ich es aus Scite heraus starten will.

    Per Dateimanager gestartet fügt Modus 1 ein Bild mit schwarzem Hintergrund ein, bei Modus 2 wird
    angeblich ein Bild kopiert laut Meldung aber im Clipboard ist nix zum Einfügen vorhanden also Leer, bei Modus 3
    wie gehabt dasselbe wie bei Modus 1.

    Wenn ich noch 30 Jahre jünger wäre und gut Englisch könnte, würde ich auf C++ oder Delphi umsteigen und es dort verwirklichen.
    Das ist ja zum verrückt werden was man in Autoit manchmal für vermeidbare Winkelzüge machen muss
    um ein eigentlich einfaches Problem zu lösen.
    Ich hätte mir einfach gewünscht daß die Befehle ClipPut und Clipget das tun was sie suggerieren,
    nämlich das Clipboard in eine Variable zu speichern und von dort wieder einzufügen (und zwar den kompletten
    Clipboard Inhalt nicht nur den $CF_TEXT).

  • Wenn ich noch 30 Jahre jünger wäre und gut Englisch könnte, würde ich auf C++ oder Delphi umsteigen und es dort verwirklichen.

    In C++ oder Delphi ist der Code ähnlich, nur komplizierter, da du auch die WinAPI Funktionen selber schreiben musst. ;)

    Modus 2 ist im PNG Binär Format und wird nur von wenigen Programmen, wie z.B. Paint.Net, unterstützt.
    Modus 3 wir sogar in Paint.Net transparent angezeigt.

    Apropos Englisch, ohne Englisch kommt man heute leider nicht weit, aber gibt ja Google Translate. ^^

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯