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

Beiträge von name22

  • Eigener GDIPlus Button Style

    • name22
    • 20. Dezember 2013 um 20:58

    Das sind lineare Gradiente. Die lassen sich mit der Funktion erstellen die ich bereits genannt habe. Die Fortschrittsbalken aus der GDIpProgress.au3 die so aussehen wie die entsprechenden Controls aus Vista sind tatsächlich aus Bildern konstruiert.

  • Eigener GDIPlus Button Style

    • name22
    • 20. Dezember 2013 um 20:12

    Was meinst du damit, dass du nichts mit der GDIP.au3 anfangen kannst? Die UDF ist im Grunde nur eine Erweiterung der Funktionsbibliothek die von der GDIPlus.au3 zur Verfügung gestellt wird.
    Zu einigen Funktionen findest du auch Beispiele, falls du unsicher bist wie man sie anwendet. Wenn du nicht weißt, was genau du an Effekten haben willst, dann musst du erstmal erklären was du unter einem 3D Button verstehst... :rolleyes:

  • Eigener GDIPlus Button Style

    • name22
    • 20. Dezember 2013 um 19:58

    Also ein bisschen Eigeninitiative sollte schon drin sein :P.
    Erstes Ergebnis für die Suche nach "GDIP.au3" bei Google. https://www.google.de/search?q=gdip.au3

  • Eigener GDIPlus Button Style

    • name22
    • 20. Dezember 2013 um 19:14

    Es gibt immer die Möglichkeit den Button in einem Bildbearbeitungsprogramm wie z.B. Photoshop oder GIMP zu erstellen und das Bild mit GDI+ auf die GUI zu zeichnen. Damit lassen sich wesentlich komplexere Designs erstellen.
    Wenn du bei deinem jetzigen Ansatz bleiben möchtest, dann solltest du dir definitiv die GDIP.au3 ansehen. Dort sind einige Funktionen erhalten mit denen sich diverse Effekte, wie etwa Farbverläufe (_GDIPlus_LineBrushCreate), auf eine Grafik zaubern lassen.

  • Skalieren von Bildern ohne Verzerrung

    • name22
    • 20. Dezember 2013 um 18:03

    Sonst gibt es auch noch diese Funktion aus der GDIP.au3, die das gleiche macht:

    Spoiler anzeigen
    [autoit]

    ; #FUNCTION# ====================================================================================================================
    ; Name...........: _GDIPlus_GraphicsSetInterpolationMode
    ; Description ...: Sets the interpolation mode of a Graphics object
    ; Syntax.........: _GDIPlus_GraphicsSetInterpolationMode($hGraphics, $iInterpolationMode)
    ; Parameters ....: $hGraphics - Pointer to a Graphics object
    ; $iInterpolationMode - Interpolation mode:
    ; |0 - Default interpolation mode
    ; |1 - Low-quality mode
    ; |2 - High-quality mode
    ; |3 - Bilinear interpolation. No prefiltering is done
    ; |4 - Bicubic interpolation. No prefiltering is done
    ; |5 - Nearest-neighbor interpolation
    ; |6 - High-quality, bilinear interpolation. Prefiltering is performed to ensure high-quality shrinking
    ; |7 - High-quality, bicubic interpolation. Prefiltering is performed to ensure high-quality shrinking
    ; Return values .: Success - True
    ; Failure - False and either:
    ; |@error and @extended are set if DllCall failed
    ; |$GDIP_STATUS contains a non zero value specifying the error code
    ; Remarks .......: The interpolation mode determines the algorithm that is used when images are scaled or rotated
    ; Related .......: _GDIPlus_GraphicsGetInterpolationMode
    ; Link ..........; @@MsdnLink@@ GdipSetInterpolationMode
    ; Example .......; No
    ; ===============================================================================================================================
    Func _GDIPlus_GraphicsSetInterpolationMode($hGraphics, $iInterpolationMode)
    Local $aResult = DllCall($ghGDIPDll, "uint", "GdipSetInterpolationMode", "hwnd", $hGraphics, "int", $iInterpolationMode)

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

    If @error Then Return SetError(@error, @extended, False)
    $GDIP_STATUS = $aResult[0]
    Return $aResult[0] = 0
    EndFunc ;==>_GDIPlus_GraphicsSetInterpolationMode

    [/autoit]
  • Printfunktion

    • name22
    • 18. Dezember 2013 um 00:48

    Hier ist eine Tabelle mit den Fehlercodes für Shellexecute. Vielleicht wirst du ja schlau daraus ;).

  • _WinAPI_BitBlt auf von Bitmap auf GUI

    • name22
    • 16. Dezember 2013 um 10:33

    Andy hat recht :P. Dennoch habe ich dein Script entsprechend deiner Fragestellung überarbeitet. Wenn du in eine Bitmap zeichnen willst, dann musst du sie in einen DC kopieren und die Operation mit dem DC durchführen. Das gilt übrigens auch für die BitBlt Funktion, da muss auch ein DC eingetragen werden in dem sich die gewünschte Bitmap befindet, nicht das Handle zur Bitmap ;).

    Spoiler anzeigen
    [autoit]

    #include <WinAPI.au3>
    #include <FontConstants.au3>
    #include <WindowsConstants.au3>

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

    $hGUI = GUICreate('', 800, 600)
    GUISetState()

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

    $hDC_Window = _WinAPI_GetDC($hGUI)
    $hDC_Bitmap = _WinAPI_CreateCompatibleDC($hDC_Window)
    $hBitmap = _WinAPI_CreateCompatibleBitmap($hDC_Window, 800, 600)
    $hOldBitmap = _WinAPI_SelectObject($hDC_Bitmap, $hBitmap)

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

    $hPen = _WinAPI_CreatePen($PS_SOLID, 4, 0x0000FF)
    $hOldPen = _WinAPI_SelectObject($hDC_Bitmap, $hPen)

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

    _WinAPI_SetBkColor($hDC_Bitmap, 0x000000)

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

    _WinAPI_DrawLine($hDC_Bitmap, 0, 0, 800, 600)
    _WinAPI_BitBlt($hDC_Window, 0, 0, 800, 600, $hDC_Bitmap, 0, 0, $SRCCOPY)

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

    While GUIGetMsg() <> -3
    WEnd

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

    _WinAPI_SelectObject($hDC_Bitmap, $hOldBitmap)
    _WinAPI_SelectObject($hDC_Bitmap, $hOldPen)
    _WinAPI_DeleteObject($hBitmap)
    _WinAPI_DeleteDC($hDC_Bitmap)
    _WinAPI_ReleaseDC($hGUI, $hDC_Window)

    [/autoit]
  • Happy Birthday Pee und funkey

    • name22
    • 4. Dezember 2013 um 14:34

    Alles Gute zum Geburtstag euch beiden! :thumbup:

  • Weihnachtsmützen für euer Avatar !

    • name22
    • 3. Dezember 2013 um 21:03

    So. Für mehr Aufwand habe ich leider keine Zeit... ;)

  • Brush mit Muster erstellen

    • name22
    • 2. Dezember 2013 um 20:36

    Klar geht sowas. Aber darauf stößt man auch alleine wenn man ein paar Minuten in Google investiert.
    Ich kenne zwar die Namen der benötigten Funktionen, aber ich habe es mal zum Prinzip gemacht, Suchvorlagen für Google zu erstellen die möglichst deinen Wortlaut verwenden.

    1. "autoit gdiplus brush mit muster": https://www.google.de/search?q=autoi…rush+mit+muster
    2. "autoit gdiplus brush farbverlauf": https://www.google.de/search?q=autoi…ush+farbverlauf
    Jeweils das erste Suchergebnis sollte bereits das sein was du suchst. Es sind sogar Beispiele vorhanden.

    Und grundsätzlich akzeptieren so gut wie alle Funktionen in GDI+ ARGB Farbwerte. Also ist Transparenz durch modifikation des Alphachannels möglich (i.e. 0xFF00FF00 -> 0xA500FF00).

  • Steam Box - Was meint ihr dazu?

    • name22
    • 2. Dezember 2013 um 18:54
    Zitat von YaeroxXO

    Außer CounterStrike gab es aber auch kein Spiel von Valve was mich wirklich interessiert hat, oder was ich erstaunlich gut umgesetzt finde


    Nichts für ungut, aber da würde mich interessieren wie viele Spiele von Valve du bis jetzt gespielt hast. ^^
    Das mit Abstand erfolgreichste Spiel von Valve ist immer noch Half-Life (50 Auszeichnungen als Spiel des Jahres). Half-Life gilt bis heute als einer der am besten umgesetzten Shooter und hatte einen großen Einfluss auf alle zukünftigen Spiele in diesem Genre.
    Portal gilt als eines der besten und innovativsten Gesamtkonzepte überhaupt und hat fast keine negative Kritik bekommen.

    Zum Thema:
    Ich sehe großes Potenzial in dem SteamBox Konzept und habe für meinen Teil keine großen Zweifel daran, dass die Umsetzung kaum Wünsche übrig lassen wird.
    Ob das ganze erfolgreich wird hängt meiner Meinung nach vom Release-Zeitpunkt ab. Aus meiner Sicht steht das momentan noch in den Wolken. Aber obwohl ich von allem was ich bisher gehört habe sehr beeindruckt bin, weiß ich nicht ob ich noch einmal so viel Geld für soetwas ausgeben möchte. Die meisten potenziellen Kunden dieses Produkts werden bereits einen entsprechend guten PC haben... Je nachdem wie gut sich das Produkt (bzw. die Produkte) da hervorheben können, könnte das auch ein Hindernis für den Erfolg darstellen.

  • Happy Burtstag Der_Doc und BugFix

    • name22
    • 28. November 2013 um 12:54

    Alles Gute zum Geburtstag Der_Doc, BugFix und i2cs Schwesterchen. :party:
    Lasst euch feiern ;):

  • Transparente Grafiken (Pfeile) über die GUI legen und wieder entfernen...

    • name22
    • 27. November 2013 um 19:44

    Ich hätte noch dieses alte Script von meiner Wenigkeit im Angebot: GDI+ Auf Desktop/Bildschirm zeichnen.
    Damit könntest du eine transparente GUI über dein Fenster legen und darin nach belieben herummalen.

  • Happy Birthday Raupi

    • name22
    • 26. November 2013 um 15:50

    Alles Gute zum Geburtstag, Raupi :D.
    Hoffentlich haust du auch kräftig auf den Putz, so eine Gelegenheit kommt ja schließlich nur einmal pro Jahr ;).

  • UEZ hat seinen 5. Foren Geburtstag.

    • name22
    • 25. November 2013 um 19:07

    Dies ist ein großer, denkwürdiger Tag in der Geschichte der Menschheit. UEZ ist nun bereits das 5. Jahr in diesem Forum aktiv. Wir fühlen uns geehrt.
    Meine besten Glückwünsche - name22.

  • Control - oder dessen Instanz - per Text finden? - ANFÄNGER

    • name22
    • 24. November 2013 um 00:08

    Der Text Parameter gilt für das Fenster, in dem sich das Control befindet, nicht das Control selbst. Das steht auch in der Hilfe zu diesem Befehl. ;)
    Du kannst aber das hier versuchen:

    [autoit]

    $aPos = ControlGetPos("Microsoft Power Point", "", "[CLASS:MsoCommandBar;TEXT:Duden Korrektor;]")
    ConsoleWrite($aPos[0] & @TAB & $aPos[1] & @CRLF)

    [/autoit]
  • Bildschirm aufnehmen

    • name22
    • 22. November 2013 um 23:46

    Das ist nicht gerade einfach umzusetzen in AutoIt. Ich habe vor ein paar Jahren mal mit anderen Leuten aus dem Forum an so einer Funktion herumgebastelt. Die einfachste Möglichkeit ein Abbild des Bildschirms zu machen ist den Inhalt des Desktops per BitBlt in eine Bitmap zu kopieren. Das ist in AutoIt aber alles andere als performant und eignet sich nur sehr bedingt zum erstellen von flüssigen Aufnahmen (besonders bei größeren Auflösungen wird es kritisch).
    Ich schließe mich meinem Vorredner an, über die Suchfunktion bzw. Google stößt du sicher auf eine nützlichere Aufnahmemethode in AutoIt (vielleicht sogar eine fertige UDF).

  • ImageGUI UDF

    • name22
    • 21. November 2013 um 01:22

    Das macht so schon Sinn... Schließlich erlaubt Windows es dir die Dateien "Bild.jpeg" und "Bild.jpg" im selben Verzeichnis zu haben. Wäre ja auch schlimm wenn nicht... Daher musst du die Datei auch eindeutig identifizieren. Schreibfehler sind nicht die Schuld des Systems.

  • ImageGUI UDF

    • name22
    • 21. November 2013 um 00:50

    Das ist kein Farbcode sondern lediglich die Zahl 0 in Hexadezimalform und der Datengröße eines Handles (das was du eigentlich zurückbekommen solltest).
    Und erneut kann man nur raten was dort schiefgelaufen ist. Ich vermute, dass die Dateien nicht im Verzeichnis des Scripts liegen (und ja ich meine dieses Script, nicht deine "UDF").

  • ImageGUI UDF

    • name22
    • 21. November 2013 um 00:11
    Zitat

    denn ich hatte ein kleines Testscript erstellt in dem ich diese au3 included habe

    Ach, und das erzählst du mir jetzt? Wie äußerst hilfreich...

    Zitat

    Trotzdem nichts zu sehen, fehler werden auch keine ausgegeben

    Das war ein Fehler meinerseits, ich habe übersehen, dass du alle Variablen schon vor der Funktion global deklariert hast. Dadurch werfen die Variablen bei ihrer Verwendung in der Funktion keinen Fehler sondern haben liedglich keinen Inhalt. Um die Fehler zu sehen müsstest du @error auslesen bzw. die Rückgabewerte der Funktionen ausgeben lassen die eben genannte Variablen verwenden.

    Zitat

    nein das ist definitiv nicht das Problem

    Ach echt? Tut mir leid, mein Fehler. Ich weiß leider auch nicht mehr weiter wenn es daran "definitiv nicht" liegen kann.
    Da muss wohl jemand mit mehr Kompetenz ran...

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™