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

Beiträge von KingLoL

  • GDI+ Bereich in einer Bitmap löschen

    • KingLoL
    • 22. Februar 2012 um 16:34

    sry ich bin zu dumm -.- ich hab ja einen Background mit dem ich den Block einfach überzeichnen kann^^

  • GDI+ Bereich in einer Bitmap löschen

    • KingLoL
    • 22. Februar 2012 um 16:32

    Hi,

    ich hab mal wieder ein Problem in GDI+: Ich porgrammiere grade Bomberman online und muss explodierte Blöcke einmalig entfernen können...
    Die komplette map bei jeder explosion neue zu laden ist zu langsam, also muss ich einzelne Blöcke (20x20 Pixel) von der bitmap entfernen können bzw. transparent erscheinen lassen. Ich hoffe ihr könnt mir helfen und danke im vorraus =)

    lg KingLoL

  • GDI+ dpi einstellen

    • KingLoL
    • 5. Februar 2012 um 10:14

    wow hammer danke, klappt echt super. einzige frage wäre jetzt nur, ob ich, wenn die dpi auf 300 sind, auch noch in mm zeichne. Das * $iDPI müsste es ja eigentlich ausgleichen. Und gebe ich bei $iMM_W auch in mm an?
    Danke für dein hilfe =)

    EDIT: Hat sich erledigt, die maße stimmen 1:1 danke nochmal =)

  • GDI+ dpi einstellen

    • KingLoL
    • 4. Februar 2012 um 21:51

    Hi,

    wieder mal eine Frage zu GDI+: Wie stelle ich die dpi ein? Immer wenn ich eine Bild erstelle erscheint es in 96dpi ich brauche aber 300. Ich habe keine Funktion dazu gefunden :/
    Ziel von dem Programm ist (vereinfacht), dass man die größe eines rechtecks eingibt (in cm) und es auch später 1:1 gedruck wird.

  • Easy Chat UDF - Very internet firendly - Runs with TCP

    • KingLoL
    • 14. Januar 2012 um 11:31

    Hi,

    Ich habe neulich TCP enddeckt und hatte lust eine kleine chat-UDF zu schreiben.
    Ich hoffe sie hilft den weniger erfahrenen Benutzern, ihren eigenen Chat zu gestalten...

    Chat UDF - Expample for the Host - Example for the Client

    Have Fun with your own chat =)
    xXKingLoLXx

  • GDI+ Problem mit Pen

    • KingLoL
    • 11. Dezember 2011 um 15:12

    jetzt klappts, aber es macht nur einen rand vom Rechteck =(

    EDIT: Ich hab den Fehler: PenCreate für nicht gefüllte Sachen, BrushCreate für den Rest... trotzdem danke :D

  • GDI+ Problem mit Pen

    • KingLoL
    • 11. Dezember 2011 um 15:06

    ja es muss egientlich am Pen liegen weil vorher gings ja (als ich noch keinen Pen hatte)

  • GDIPlus mit mehrere Bereiche

    • KingLoL
    • 11. Dezember 2011 um 15:00

    das skript ist so langsam, weil du soviele guis erstellst und auch so viele labels. Du musst eine Gui erstellen und dann die Labels auch mit hilfe von GDI+ machen dann wirds schnell sein (Ich bin an einem Spiel und es läuft mit 40FPS)

  • GDI+ Problem mit Pen

    • KingLoL
    • 11. Dezember 2011 um 14:55

    Hi, ich hab ein kleines Problem, denn ich möchte ein rechteck zeichnen, aber es will nicht seit ich eine stift erstellt hab:

    [autoit]

    $Pen = _GDIPlus_PenCreate(0xFFFF0000)
    _GDIPlus_GraphicsFillRect($buffer, 25, 25, Round($Health * 2), 40, $Pen)

    [/autoit]
  • List oder ListView komplett selbst gestalt (Farbe, Bilder, Icons, Auswahlfarbe)

    • KingLoL
    • 2. November 2011 um 18:52

    Hi, ich denke das sollte für mich reichen... danke :D

  • List oder ListView komplett selbst gestalt (Farbe, Bilder, Icons, Auswahlfarbe)

    • KingLoL
    • 2. November 2011 um 18:17

    Hi, Ich möchte eine Kleine Liste darstellen, die mir meine Items schöner darstellt als normal. Das meiste steht eigentlich schon in der Überschrift. Ich habe 2-3 Spalten

  • (Spiel) Wenn die Figur eine im Array gespeicherte Koordinate berührt, soll etwas Passieren

    • KingLoL
    • 24. Oktober 2011 um 20:54

    ja ich denke es wär auf jedenfall besser zuerst die simpelste version zu erstellen, und dann mehr futures hinzufügen... danke fürs beantworten meiner nutzlosen fragen :DD

  • (Spiel) Wenn die Figur eine im Array gespeicherte Koordinate berührt, soll etwas Passieren

    • KingLoL
    • 24. Oktober 2011 um 20:46

    haha also mehrere höhen weg lassen?

  • (Spiel) Wenn die Figur eine im Array gespeicherte Koordinate berührt, soll etwas Passieren

    • KingLoL
    • 24. Oktober 2011 um 20:39

    ich kann ja kein ArraySearch bei einem 2D Array machen und es gibt teilweise mehrere Etagen, deshal auch doppelte x coordinaten. ausserdem kann sie ja auch springen un ist deshalb auch nich immer genau auf der Position

  • (Spiel) Wenn die Figur eine im Array gespeicherte Koordinate berührt, soll etwas Passieren

    • KingLoL
    • 24. Oktober 2011 um 20:19

    Hi, ich versuche mich an einem simplen Spiel in 2D. Dord kann man mit der Spielfigur hin und herlaufen. Allerdings soll Sie auf der Textur laufen können. Das Gelände ist in einer Array Gespeichert die so aussieht:

    Array[2521][2]

    x-Koordinate y-Koordiante
    1 16
    1 16
    2 5
    3 5
    4 5
    5 6
    5 15

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 24. Oktober 2011 um 17:09

    Hab den funktionerenden Code:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>
    #include <Misc.au3>
    #include <Color.au3>

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

    $file = FileOpenDialog("Compiler", @DesktopDir &"\Eigene Programme\Snake", "Bilder (*.jpg)")
    If @error = 1 Then Exit
    $iniFile = StringReplace($file, ".jpg", ".ini")

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

    ProgressOn("Compiler","Compiliere...", "0%")
    _GDIPlus_Startup()

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

    $hBitmap = _GDIPlus_BitmapCreateFromFile($file)
    $height = _GDIPlus_ImageGetHeight($hBitmap)
    $width = _GDIPlus_ImageGetWidth($hBitmap)

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

    Local $BitmapData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $width, $height, $GDIP_ILMREAD, $GDIP_PXF32RGB)
    Local $Stride = DllStructGetData($BitmapData, "Stride") ; Stride ist der Offset von einer Reihe zur nächsten
    Local $Scan0 = DllStructGetData($BitmapData, "Scan0") ; Die Bilddaten im Speicher
    Local $PixelData
    For $row = 0 To $height - 1 ; Reihe für Reihe
    For $col = 0 To $width - 1 ; Spalte für Spalte
    $Percent = Round((100 / $height) * $row + (100 / $height) * (((100 / $width) * $col) / 100), 1)
    ProgressSet($Percent, $Percent &"%")
    ; lese Farbinformation des aktuellen Pixels(Spalte,Reihe) aus
    $PixelData = DllStructCreate("dword", $Scan0 + ($row * $Stride) + ($col * 4))
    $Color = DllStructGetData($PixelData, 1)
    $Color = _ColorGetRed($Color) + _ColorGetGreen($Color) + _ColorGetBlue($Color)
    If $Color = 0 Then
    IniWrite($iniFile, "Pixel", $row, $col)
    EndIf
    Next
    Next
    _GDIPlus_BitmapUnlockBits($hBitmap, $BitmapData)

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

    _GDIPlus_Shutdown()
    ProgressOff()
    MsgBox(0,"Compiler","fertig")

    [/autoit]
  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 22:28

    geht immer noch nicht :D es schreibt einfach jedesmal in die ini:

    [Pixel]
    0=0

    und das wars :S

    EDIT: Ich hab den Fehler und weiß natürlich nix damit anzufangen... Der Rückgabewert für "Weiß" ist 4294967295 also nicht einheitlich 0 oder dezimal #000 oder hexadezimal #000000

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 22:13

    ja damit siehts so aus aber geht halt auch nich:

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>
    #include <Misc.au3>
    #include <Color.au3>

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

    $file = FileOpenDialog("SnakeLvLEditor", @DesktopDir &"\Eigene Programme\Snake", "Bilder (*.jpg)")
    $iniFile = StringReplace($file, ".jpg", ".ini")

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

    _GDIPlus_Startup()

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

    $hBmp = _GDIPlus_ImageLoadFromFile($file)
    $PicWidth = _GDIPlus_ImageGetWidth($file)
    $PicHeight = _GDIPlus_ImageGetWidth($file)
    $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp) ; erstelle ein Bitmap aus Screenshot zur Verwendung mit GDI+
    _WinAPI_DeleteObject($hBmp) ; lösche Screenshot aus Speicher

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

    _GreyScale($hBitmap, 0, 0, $PicWidth, $PicHeight) ; Bereich wird in Graustufen umberechnet

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

    _GDIPlus_BitmapDispose($hBitmap) ; lösche Bild aus dem Speicher
    _GDIPlus_Shutdown()

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

    Func _GreyScale($hBitmap, $iX, $iY, $iW, $iH)
    Local $BitmapData = _GDIPlus_BitmapLockBits($hBitmap, $iX, $iY, $iW, $iH, BitOR($GDIP_ILMREAD, $GDIP_ILMWRITE), $GDIP_PXF32RGB)
    Local $Stride = DllStructGetData($BitmapData, "Stride") ; Stride ist der Offset von einer Reihe zur nächsten
    Local $Width = DllStructGetData($BitmapData, "Width") ; Anzahl der Spalten
    Local $Height = DllStructGetData($BitmapData, "Height") ; Anzahl der Reihen
    Local $Scan0 = DllStructGetData($BitmapData, "Scan0") ; Die Bilddaten im Speicher
    Local $PixelData, $Color
    For $row = 0 To $Height - 1 ; Reihe für Reihe
    For $col = 0 To $Width - 1 ; Spalte für Spalte
    ; lese Farbinformation des aktuellen Pixels(Spalte,Reihe) aus
    $PixelData = DllStructCreate("dword", $Scan0 + ($row * $Stride) + ($col * 4))
    $Color = DllStructGetData($PixelData, 1)
    If $Color = 0 Then
    IniWrite($iniFile, "Pixel", $row, $col)
    EndIf
    Next
    Next
    _GDIPlus_BitmapUnlockBits($hBitmap, $BitmapData)
    EndFunc ;==>_GreyScale

    [/autoit]
  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 21:36

    klar sonst würd ich dich ja nich fragn :D ich hab mir das tut von bugFix angeguckt

  • Bild Scannen (Schwarz-Weiß) und alle Koordinaten der schwarzen Pixel in eine .ini schreiben

    • KingLoL
    • 23. Oktober 2011 um 21:04

    ok ich habs doch noch heute gemacht :D

    irgendwas geht nicht aber ich weiß nich was (sonst würd ichs ja nicht schrieben^^)

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>
    #include <Misc.au3>
    #include <Color.au3>

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

    $file = FileOpenDialog("SnakeLvLEditor", @DesktopDir &"\Eigene Programme\Snake", "Bilder (*.jpg)")
    $iniFile = StringReplace($file, ".jpg", ".ini")

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

    _GDIPlus_Startup()

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

    $hBmp = _GDIPlus_ImageLoadFromFile($file)
    $PicWidth = _GDIPlus_ImageGetWidth($file)
    $PicHeight = _GDIPlus_ImageGetWidth($file)
    $hBitmap = _GDIPlus_BitmapCreateFromHBITMAP($hBmp) ; erstelle ein Bitmap aus Screenshot zur Verwendung mit GDI+
    _WinAPI_DeleteObject($hBmp) ; lösche Screenshot aus Speicher

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

    _GreyScale($hBitmap, 0, 0, $PicWidth, $PicHeight) ; Bereich wird in Graustufen umberechnet

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

    _GDIPlus_BitmapDispose($hBitmap) ; lösche Bild aus dem Speicher
    _GDIPlus_Shutdown()

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

    Func _GreyScale($hBitmap, $iX, $iY, $iW, $iH)
    Local $BitmapData = _GDIPlus_BitmapLockBits($hBitmap, $iX, $iY, $iW, $iH, BitOR($GDIP_ILMREAD, $GDIP_ILMWRITE), $GDIP_PXF32RGB)
    Local $Stride = DllStructGetData($BitmapData, "Stride") ; Stride ist der Offset von einer Reihe zur nächsten
    Local $Width = DllStructGetData($BitmapData, "Width") ; Anzahl der Spalten
    Local $Height = DllStructGetData($BitmapData, "Height") ; Anzahl der Reihen
    Local $Scan0 = DllStructGetData($BitmapData, "Scan0") ; Die Bilddaten im Speicher
    Local $PixelData, $Color, $Luma
    For $row = 0 To $Height - 1 ; Reihe für Reihe
    For $col = 0 To $Width - 1 ; Spalte für Spalte
    ; lese Farbinformation des aktuellen Pixels(Spalte,Reihe) aus
    $PixelData = DllStructCreate("dword", $Scan0 + ($row * $Stride) + ($col * 4))
    $Color = DllStructGetData($PixelData, 1)
    IniWrite($iniFile, "Pixel", $row, $col)
    Next
    Next
    _GDIPlus_BitmapUnlockBits($hBitmap, $BitmapData)
    EndFunc ;==>_GreyScale

    [/autoit]

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™