Dann von mir auch ein Happy Birthday und alles Gute!
Feier schön im Hotel mit dir selbst! ![]()
Gruß,
UEZ
Dann von mir auch ein Happy Birthday und alles Gute!
Feier schön im Hotel mit dir selbst! ![]()
Gruß,
UEZ
Stimmt! Danke für den Hinweis!
Werde ich fixen!
Gruß,
UEZ
Welche Version benutzt du?
Btw, in der aktuellen Version schmiert das Programm unter WinXP ab, wenn man ein weiteres Bild lädt! Versuche gerade herauszufinden, warum das so ist!
Gruß,
UEZ
Update auf v0.77.
Gruß,
UEZ
Herzlichen Glückwunsch SB Keule und alles Gute!
Gruß,
UEZ
Ich habe die Historie in Beitrag 1 hinzugefügt. Bald wird v1.70 veröffentlicht...
Gruß,
UEZ
Sehr interessanter Ansatz. Danke für die Info!
Gruß,
UEZ
Willst du auch den Screensaver über die Systemsteuerung einstellen können inkl. dem kleinen Vorschaufenster, musst du ein wenig mehr coden.
Schaue mal hier nach: http://www.autoitscript.com/forum/index.php?showtopic=87200 (GDI+ 3D Star Scrolling Screensaver.au3).
AutoBert hat ja im Prinzip alles bereits geschrieben...
Gruß,
UEZ
Ein von mir ein "Happy Birthday" und alles Gute!
Gruß,
UEZ
Die Tools sind nicht dafür angelegt, diese Attribute zu setzen, aber ich freue mich immer über Feedback! ![]()
Ansonsten gebe ich water recht, dass dieser Topic falsch für AD Support Fragen ist.
Gruß,
UEZ
Mit "AutoIt Watermark Image" könnt ihr eure Bilder mit einem Wasserzeichen, als Text und/oder Bild, versehen.
Source Code: Pastebin.com
Einige Features werde ich noch implementieren.
CMD Funktionalität ist nicht vollständig getestet!
Mandatory:
-text "Any Text" | -bitmap <path to an image used for stamp>
-in <path to an image whichh should watermarked>
-out <save image name>
Optional:
-font <font name from the dropdown list. Default is Arial>
-size <font size. If 0 then it will be calculated automatically>>
-color <color of the font. Default is 0xFF0000>
-fx <one of the text fx -> default, outline or embossed. Default is Default>
-fxtype <one of the modes -> Text, Circular or Stamp. Default is Text>
-opaque <level of opaque (1-255). Default is 92>
-pos <fixed position (1-9). Default is 9>
-posx <manual x position. Default is 0>
-posy <manual y position. Default is 0>
-angle <in text/ circular mode the angle of the text (-180 - 180) or in stamp mode resize factor)
-circrad <radius of the circular text. If 0 then it will be calculated automatically>
-fill <fill stamp image -> 0 or 1. Default is 0)
-format <jpg|png|gif|bmp|tif -> jpg is default>
-jpgqual <jpg save quality (0-100). Default is 90)
-loadfont <path to a ttf font file>
-tpbgcolor <background color for transparent images>
-silent <show or supress messages in cmd mode (0 | 1). If 1 then file will be overwritten automatically!>
Alles anzeigen
Viel Spaß!
Gruß,
UEZ
Historie:
v0.50 beta build 2012-11-16: erste Veröffentlichung
v0.55 beta build 2012-11-16: Fehler bei der Repaint Funktion behoben und Drag 'n Drop Funktion hinzugefügt
v0.60 beta build 2012-11-17: Funktion zum Verändern der Bildgröße hinzugefügt (More Knopf -> Resize)
v0.75 beta build 2012-11-23: Text Rotationscode verbessert; Text Stanz Effekt, Slider zum manuellen Positionieren des Textes / Bildes, Füllen des "Stamp" Bildes und CMD Funktionalität hinzugefügt
v0.77 beta build 2012-11-26: einige kleinere Fehler behoben, installierte System Fonts werden jetzt in der Combo Box angezeigt, zusätzlich Option, um ein TrueType Font zu laden und zu benutzen und Undo Funktionalität hinzugefügt
v0.77 beta build 2012-11-27: Memory Leak behoben und WinXP Absturz nach dem 2. Laden eines Bildes behoben
v0.80 beta build 2012-11-28: Fehler in der Undo Funktion behoben (Hard Crash) und Funktion zum Verschieben des Textes mit der Maus hinzugefügt
v0.84 beta build 2012-12-08: einige kleine Fehler behoben, Systemmenü hinzugefügt (Check for Updates, Visit Homepage, About), Hintergrund Farbe für transparente Bilder kann jetzt gesetzt werden, die Größe des Hauptfensters kann jetzt verändert werden (beta!), in CMD Modus kann jetzt ein Ordner angegeben werden, so dass alle Bilder umgewandelt werden
v0.85 beta build 2012-12-12: einige kleinere Fehler behoben und Rotation mit der rechten Maustaste hinzugefügt
v0.87 beta build 2013-01-10: weitere kleinere Fehler behoben, Outlined Filled Text Effekt hinzugefügt und GUI Resize Funktionalität deaktiviert (wird wieder aktiviert, wenn die Resize Funktion gescheit läuft)
v0.88 beta build 2013-05-24: einige Bugs behoben
v0.89 beta build 2014-08-25: Code an AutoIt v3.3.12.0 angepasst, mehrere interne Modifikationen, Wasser Wellen Effekt hinzugefügt, wenn die Maus über das Bild läuft
Herzlichen Glückwunsch allen, die heute Geburtstag haben. Feiert schön...
Gruß,
UEZ
Alles Gute zum Geburtstag!
Gruß,
UEZ
Das hat was mit dem Repaint des Fensters zu tun. Die Version von name22 ist zwar länger, aber dafür "weicher" beim Resizen.
Machmal kommt es doch auf die Länge an...
Gruß,
UEZ ![]()
Hier die etwas längere Version, die das Bild entsprechend interpoliert.
#include <Constants.au3>
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global Const $STM_SETIMAGE = 0x0172
Global $sPathKey = "HKLM64\SOFTWARE\AutoIt v3\AutoIt\"
If @OSArch = "x64" Then $sPathKey = "HKLM\SOFTWARE\Wow6432Node\AutoIt v3\AutoIt\"
Global $sImage = RegRead($sPathKey, "InstallDir") & "\Examples\GUI\logo4.gif"
_GDIPlus_Startup()
Global $hBmp = _GDIPlus_BitmapCreateFromFile($sImage)
Global $iW = _GDIPlus_ImageGetWidth($hBmp), $iH = _GDIPlus_ImageGetHeight($hBmp)
Global $hGUI = GUICreate("Test", 235, 112, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX, $WS_THICKFRAME))
Global $idPic = GUICtrlCreatePic("", 32, 16, $iW, $iH)
GUICtrlSetResizing(-1, $GUI_DOCKVCENTER + $GUI_DOCKHCENTER)
Global $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
Global $hB = GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap)
If $hB Then _WinAPI_DeleteObject($hB)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_SIZE, "WM_SIZE")
[/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
_GDIPlus_BitmapDispose($hBmp)
_GDIPlus_Shutdown()
GUIDelete()
Exit
EndSwitch
WEnd
Func WM_SIZE($hWnd, $Msg, $wParam, $lParam)
#forceref $Msg, $wParam, $lParam
Local $aSize = ControlGetPos($hWnd, "", $idPic)
Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $aSize[2], "int", $aSize[3], "int", 0, "int", 0x0026200A, "ptr", 0, "int*", 0)
Local $hBitmap = $aResult[6]
Local $hContext = _GDIPlus_ImageGetGraphicsContext($hBitmap)
DllCall($ghGDIPDll, "uint", "GdipSetInterpolationMode", "handle", $hContext, "int", 7)
_GDIPlus_GraphicsDrawImageRect($hContext, $hBmp, 0, 0, $aSize[2], $aSize[3])
_GDIPlus_GraphicsDispose($hContext)
Local $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBitmap)
Local $hB = GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap)
If $hB Then _WinAPI_DeleteObject($hB)
_WinAPI_DeleteObject($hHBitmap)
_GDIPlus_BitmapDispose($hBitmap)
Return "GUI_RUNDEFMSG"
EndFunc
Gruß,
UEZ
Du musst dich nicht dämlich fühlen, denn viele Wege führen nach Rom. Manchmal denke auch zu kompliziert, obwohl der Weg nach Rom viel einfachen gehen kann.
Gruß,
UEZ ![]()
Ich habe nicht alle Beiträge gelesen und kann deshalb nicht sagen, ob so was ähnliches bereits gepostet wurde.
#include <Constants.au3>
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global Const $STM_SETIMAGE = 0x0172
Global $sPathKey = "HKLM64\SOFTWARE\AutoIt v3\AutoIt\"
If @OSArch = "x64" Then $sPathKey = "HKLM\SOFTWARE\Wow6432Node\AutoIt v3\AutoIt\"
Global $sImage = RegRead($sPathKey, "InstallDir") & "\Examples\GUI\logo4.gif"
Global $hGUI = GUICreate("Test", 235, 112, -1, -1, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX, $WS_THICKFRAME))
Global $idPic = GUICtrlCreatePic("", 32, 16, 169, 68)
GUICtrlSetResizing(-1, $GUI_DOCKVCENTER + $GUI_DOCKHCENTER)
_GDIPlus_Startup()
Global $hBmp = _GDIPlus_BitmapCreateFromFile($sImage)
Global $hHBitmap = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hBmp)
Global $hB = GUICtrlSendMsg($idPic, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap)
If $hB Then _WinAPI_DeleteObject($hB)
GUISetState(@SW_SHOW)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
_GDIPlus_BitmapDispose($hBmp)
_GDIPlus_Shutdown()
GUIDelete()
Exit
EndSwitch
WEnd
Gruß,
UEZ
Happy Birthday allen Dreien und alles Gute!
Lasst die Sau raus...
Gruß,
UEZ
Junge, Junge. Habe ich es wieder mal kompliziert gemacht...
Gruß,
UEZ ![]()
Probiere es mal damit:
#include <WinAPI.au3>
#include <MenuConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $aTaskbar = WinGetPos("[CLASS:Shell_TrayWnd;INSTANCE:1]", "")
Global $iX, $iY, $iW, $iH
If $aTaskbar[2] < @DesktopWidth Then ;Taskbar ist vertikal
$iW = @DesktopWidth - $aTaskbar[2]
$iH = @DesktopHeight
$iY = 1
If Not $aTaskbar[0] Then
$iX = $aTaskbar[2]
Else
$iX = 1
EndIf
Else ;ansonsten ist die Taskbar horizontal
$iW = @DesktopWidth
$iH = @DesktopHeight - $aTaskbar[3]
$iX = 1
If Not $aTaskbar[1] Then
$iY = $aTaskbar[3]
Else
$iY = 1
EndIf
EndIf
Global Const $hGui = GUICreate("Test", $iW, $iH, $iX, $iY, Default, Default)
[/autoit] [autoit][/autoit] [autoit]Global Const $iWFrame = _WinAPI_GetSystemMetrics($SM_CXFRAME) / 2
Global Const $iHFrame = _WinAPI_GetSystemMetrics($SM_CYFRAME) / 2
WinMove($hGui, "", $iX, $iY, $iW - $iWFrame, $iH - $iHFrame)
GUISetState()
GUIRegisterMsg($WM_SYSCOMMAND, "On_WM_SYSCOMMAND")
[/autoit] [autoit][/autoit] [autoit]While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func On_WM_SYSCOMMAND($hWnd, $Msg, $wParam, $lParam)
If BitAND($wParam, 0xFFF0) = $SC_MOVE Then Return False ;stop moves
Return $GUI_RUNDEFMSG
EndFunc
Getestet auf Win7 x64 inkl. Aero.
Gruß,
UEZ