Im Akku Modus kann es sein, dass die Energie Optionen den WLAN Adapter nach 10 Minuten einfach abschalten, um Energie zu sparen.
Beiträge von UEZ
-
-
Jetzt weißt du endlich mal wie es mir geht, wenn ich GDI+ coden muss


-
Oh man, dieses Shuffle-Funktionen sind wie RegEx - da muss man erst mal durchblicken.

-
Wenn ich "pshufb" klicke, kommt ein andere Sichtweise unten heraus.
-
-
Load_BMP_from_Mem ist nun in GDIPlus.au3 integriert und heißt jetzt _GDIPlus_BitmapCreateFromMemory.
Einige Beispiele findest du hier: https://www.autoitscript.com/forum/topic/13…ur-files-easily
-
In GDI+ kannst du i.d.R. nur auf den Graphic Handle zeichnen, wobei die Graphics der sichtbarer Bereich ist, also das was du in der GUI siehst.
Den Graphic Handle kannst du nicht einfach abspeichern, so dass du zuerst in das Bild zeichnest und anschließend das gezeichnete Bild in den Graphic Handle kopierst.
Somit kannst du einfach das Bild speichern und vermeidest das Flickern.Um in das Bild zu zeichnen, benötigst du ein Wrapper Handle -> _GDIPlus_ImageGetGraphicsContext.
Der Unterschied zwischen Bitmap und Image ist, dass Bitmap eine Untermenge von der Klasse Image ist.
-
Booaah ey
50 Jahre schon auf dem Buckel...
Alles Gute zum 50. und Prost auf die nächsten 50 Jahre.

Hau' rein "altes Haus".



-
Vielen Dank für dein Feedback.
Ich würde sagen, dass einige Effekte ohne deine GDIPlusEx UDF nicht realisierbar wären bzw. nicht in der entsprechenden FPS!
Hut ab [Blockierte Grafik: http://www.sammlerforen.net/images/smilies/hut.gif]
Mir hat am besten der Flammen Effekt gefallen, wobei die Piratenflaggen auch nicht schlecht aussieht.

Ok, einige dieser Effekte hatte ich ja bereits separat veröffentlicht... Voll vergessen.

-
Es müsste doch ein Systemtool geben, was wirklich jeden Prozess (Windows-Prozesse ausgenommen) beenden kann - oder?
Dann könnte man jede AV Software / Firewall beenden und somit das System kompromittieren.
Das Thema sollte hier nicht weitergeführt werden!
-
Hier noch ein paar mehr (33) GDI+ Snippets.
Vielen Dank an Eukalyptus für die Assembler Codes.

Screenshots und Download hier: Some Graphical Examples using GDI+ Vol. II
Sollte ab Win7 / AutoIt v3.3.14.2 ohne Probleme funzen.
Viel Spaß beim Ausprobieren.

Probleme bitte hier melden.
-
Vielen Dank für die Rückmeldungen.

-
Probiere es mal damit:
AutoIt
Alles anzeigen#include <WinAPI.au3> #include <WinAPIGdi.au3> #include <Timers.au3> #include <WindowsConstants.au3> #include <FontConstants.au3> #include <StaticConstants.au3> Global Const $__TIMER_INTERVALL = 100 Global $iWidth = 400, $iHeight = 300 Global $aVertex[2][3] = [[0, 0, 0xA7BED7], [$iWidth, $iHeight, 0xF7F7F7]] $hGui = GUICreate('Test', $iWidth, $iHeight) ;~ $idPic = GUICtrlCreatePic('', 0, 0, $iWidth, $iHeight) ;~ $hPic = GUICtrlGetHandle($idPic) _ManageText('set', 'Nachricht', 'Das ist irgendein beliebiger Text' & @LF & 'die zweite Zeile des Textes') $iTimerID = _Timer_SetTimer($hGui, $__TIMER_INTERVALL, '_TimerCallback') GUISetState(@SW_SHOW) While 1 Switch GUIGetMsg() Case -3 _Timer_KillTimer($hGui, $iTimerID) Exit EndSwitch WEnd Func _Time() Return StringFormat('%02i:%02i:%02i.%s', @HOUR, @MIN, @SEC, StringLeft(@MSEC,1)) EndFunc Func _ManageText($sAction='get', $sTextA='', $sTextB='') Local Static $aText[2] = ['',''] If $sAction = 'get' Then Return $aText If $sTextA <> '' Then $aText[0] = $sTextA If $sTextB <> '' Then $aText[1] = $sTextB EndFunc Func _TimerCallback($hWnd, $iMsg, $iIDTimer, $iTime) #forceref $hWnd, $iMsg, $iIDTimer, $iTime Local Static $aText[2] = ['',''] Local $aNewText = _ManageText('get') For $i = 0 To 1 If $aText[$i] <> $aNewText[$i] Then $aText[$i] = $aNewText[$i] EndIf Next Local $sTime = _Time() ; Gradient Local $hDC = _WinAPI_GetDC($hWnd) Local $hBitmap = _WinAPI_CreateCompatibleBitmap($hDC, $iWidth, $iHeight) Local $hDestDC = _WinAPI_CreateCompatibleDC($hDC) Local $hDestSv = _WinAPI_SelectObject($hDestDC, $hBitmap) _WinAPI_GradientFill($hDestDC, $aVertex) ; Font Local $hFont = _WinAPI_CreateFont(16, 0, 0, 0, 600, False, False, False, $DEFAULT_CHARSET, _ $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Microsoft Sans Serif') Local $hOldFont = _WinAPI_SelectObject($hDestDC, $hFont) ; Text 1 _WinAPI_SetTextColor($hDestDC, 0x800000) _WinAPI_SetBkMode($hDestDC, $TRANSPARENT) Local $tRECT = DllStructCreate($tagRect) DllStructSetData($tRECT, "Left", 15) DllStructSetData($tRECT, "Top", 5) DllStructSetData($tRECT, "Right", 100) DllStructSetData($tRECT, "Bottom", 30) _WinAPI_DrawText($hDestDC, $aText[0], $tRECT, BitOR($DT_VCENTER,$DT_LEFT,$DT_SINGLELINE)) ; Time $tRECT = DllStructCreate($tagRect) DllStructSetData($tRECT, "Left", $iWidth-90) DllStructSetData($tRECT, "Top", 5) DllStructSetData($tRECT, "Right", $iWidth-15) DllStructSetData($tRECT, "Bottom", 30) _WinAPI_DrawText($hDestDC, $sTime, $tRECT, BitOR($DT_VCENTER,$DT_RIGHT,$DT_SINGLELINE)) ; Trennline Local $hPen = _WinAPI_CreatePen($PS_SOLID, 1, 0x800000) Local $oOld = _WinAPI_SelectObject($hDestDC, $hPen) _WinAPI_DrawLine($hDestDC, 3, 30, $iWidth-6, 30) ; Text 2 $hFont = _WinAPI_CreateFont(16, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _ $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Microsoft Sans Serif') _WinAPI_SelectObject($hDestDC, $hFont) _WinAPI_SetTextColor($hDestDC, 0x400000) $tRECT = DllStructCreate($tagRect) DllStructSetData($tRECT, "Left", 0) DllStructSetData($tRECT, "Top", 40) DllStructSetData($tRECT, "Right", $iWidth) DllStructSetData($tRECT, "Bottom", 280) _WinAPI_DrawText($hDestDC, $aText[1], $tRECT, $DT_CENTER) _WinAPI_BitBlt($hDC, 0, 0, $iWidth, $iHeight, $hDestDC, 0, 0, $SRCCOPY) ; Gradient to control ;~ _WinAPI_DeleteObject(GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap)) ;~ _SendMessage($hPic, $STM_SETIMAGE, 0, $hBitmap) ;~ Local $hObj = _SendMessage($hPic, $STM_GETIMAGE) ;~ If $hObj <> $hBitmap Then _WinAPI_DeleteObject($hBitmap) _WinAPI_SelectObject($hDestDC, $hOldFont) _WinAPI_SelectObject($hDestDC, $oOld) _WinAPI_DeleteObject($hFont) _WinAPI_DeleteObject($hPen) _WinAPI_SelectObject($hDestDC, $hDestSv) ;~ _WinAPI_ReleaseDC($hPic, $hDC) _WinAPI_DeleteDC($hDestDC) _WinAPI_DeleteObject($hBitmap) ; Neuzeichnen ;~ GUISetState(@SW_UNLOCK) ;~ _WinAPI_RedrawWindow($hWnd, 0, 0, BitOR($RDW_NOINTERNALPAINT, $RDW_UPDATENOW)) ;~ GUISetState(@SW_LOCK) EndFunc -
Da ich mich gerade in einer kreativen Phase befinde, hier noch ein weiteres kleines GDI+ Skript.
Vielen Dank an Eukalyptus für die GDIPlusEx UDF!

So, das war's für diese Nacht.

Viel Spaß beim Zuschauen...

-
Jetzt könnte man die Punkte mit der Warp Funktion von Eukalyptus mit Texturen versehen. Das hatte ich bereits nach dem Sphere Outro vor, ist aber in Vergessenheit geraten.
So könnte man z.B. eine rotierende Weltkugel darstellen.
-
Für _FileReadToArray musst du noch den "Delimiter" angeben -> ";" (siehe Help File, letzter Parameter).
-
Teste doch mal
Oder alternativ: https://www.autoitscript.com/forum/topic/155748-csvsplit
-
Es wäre cool, wenn du noch ein Bump Mapping Effekt hinzufügen würdest -> Code Beispiel in C/C++


Dann sieht es gleich noch besser aus.

-
-
While 1
Sleep(100)
WEndWie soll das Programm in Zeile 74-76 aus der Endlosschleife denn raus?
GUISetOnEvent kann nur einmal ausgeführt werden und diese Schleife blockiert die Anweisung GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close") in Zeile 15, da GUICtrlSetOnEvent($Button1, "Durchsuchen") bereits läuft.
Du könntest zwar
benutzen, aber sehr unschön das Ganze.