Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #NoTrayIcon
- #include <Crypt.au3>
- #include <GDIPlus.au3>
- #include <Array.au3>
- #include <GUIConstantsEx.au3>
- #include <WindowsConstants.au3>
- ConsoleWrite(TXTtoJPG(@DesktopDir&"\script\readme.txt",@DesktopDir&"\script\readme.jpg","Passwort"))
- Func TXTtoJPG($pTXT,$pJPG,$sPW)
- $pTXTsplit = StringSplit($pTXT,"\")
- if $pTXTsplit[0] = 1 Then
- $pTXTsplit = StringSplit($pTXT,"/")
- if $pTXTsplit[0] = 1 Then return -1
- endif
- $name = $pTXTsplit[$pTXTsplit[0]]
- $file = FileOpen($pTXT,16)
- $TXTdata = FileRead($file)
- FileClose($file)
- if _Crypt_Startup() = False Then return -1
- $Key=_Crypt_DeriveKey($sPW,$CALG_RC4)
- if $Key = -1 Then return -1
- $write = "<JPGTXTCRYPT\NAME:"&$name&":NAME/>"&_Crypt_EncryptData($TXTdata,$Key,$CALG_USERKEY)&"</JPGTXTCRYPT>"
- $i = StringLen($write) / 3
- do
- if Int($i) <> $i Then
- $write &= " "
- $i = StringLen($write) / 3
- endif
- until Int($i) = $i
- _Crypt_DestroyKey($Key)
- _Crypt_Shutdown()
- $pixel = Sqrt(StringLen($write)/3)
- $pixel = Int($pixel)
- $pixel += 1
- $GUI = GuiCreate("Generate",$pixel,$pixel,@DesktopWidth-$pixel-10,@DesktopHeight-$pixel-40,BitOR($WS_SYSMENU, $WS_POPUP, $WS_POPUPWINDOW, $WS_BORDER))
- WinSetOnTop($Gui, "", 1)
- FileInstall(@DesktopDir&"\ico.ico",@TempDir&"\Ic0n_20_Generate_TXTTOJPG.ico",1)
- GuiSetIcon(@TempDir&"\Ic0n_20_Generate_TXTTOJPG.ico")
- GuiSetState(@SW_SHOW)
- _GDIPlus_Startup ()
- $Graphic = _GDIPlus_GraphicsCreateFromHWND($GUI)
- if $Graphic = 0 Then return -1
- $chars = Stringsplit($write,"")
- $s = 1
- $pen = _GDIPlus_PenCreate(0xFF000000)
- _GDIPlus_GraphicsFillRect($Graphic,0,0,$pixel,$pixel,$pen)
- for $i=1 to $pixel
- for $d=1 to $pixel
- if $s > Ubound($chars)-1 Then
- $pen = _GDIPlus_PenCreate(0xFF000000+RBG(0,0,0))
- if _GDIPlus_GraphicsDrawRect($Graphic,$d,$i,1,1,$pen) = False Then return -1
- Else
- $pen = _GDIPlus_PenCreate("0xFF"&StringReplace(RBG(ASC($chars[$s]),ASC($chars[$s+1]),ASC($chars[$s+2])),"0x",""))
- if _GDIPlus_GraphicsDrawRect($Graphic,$d,$i,1,1,$pen) = False Then return -1
- $s += 3
- endif
- Next
- Next
- if _GDIPlus_Save_to_Image($pJPG,$GUI) = False Then return -1
- _GDIPlus_Shutdown()
- GuiDelete($GUI)
- return 1
- EndFunc
- func RBGOfColor($RBGColor)
- dim $rbg[3]
- $RBGColor = StringReplace($RBGColor,"0x","")
- $rbg[2] = StringRight($RBGColor,2)
- $rbg[1] = StringLeft(StringRight($RBGColor,4),2)
- $rbg[0] = StringRight(StringLeft($RBGColor,2),6)
- $rbg[2] = Int("0x"&$rbg[2])
- $rbg[1] = Int("0x"&$rbg[1])
- $rbg[0] = Int("0x"&$rbg[0])
- return $rbg
- endfunc
- Func RBG($r2,$b2,$g2)
- return "0x"&StringRight(Hex($r2),2)&StringRight(Hex($b2),2)&StringRight(Hex($g2),2)
- endfunc
- Func _GDIPlus_Save_to_Image($file, $hWnd)
- Local $hDC, $memBmp, $memDC, $hImage, $w, $h, $size, $err, $sCLSID, $ext, $fExt
- If $file <> "" Or $hWnd <> "" Then
- $size = WinGetClientSize($hWnd)
- $w = $size[0]
- $h = $size[1]
- $hDC = _WinAPI_GetDC($hWnd)
- $memDC = _WinAPI_CreateCompatibleDC($hDC)
- $memBmp = _WinAPI_CreateCompatibleBitmap($hDC, $w, $h)
- _WinAPI_SelectObject ($memDC, $memBmp)
- _WinAPI_BitBlt($memDC, 0, 0, $w, $h, $hDC, 0, 0, 0x00CC0020) ; 0x00CC0020 = $SRCCOPY
- $hImage = _GDIPlus_BitmapCreateFromHBITMAP ($memBmp)
- $ext = "png,bmp,jpg,tif,gif"
- $fExt = StringRight($file, 3)
- If Not StringInStr($ext, $fExt) Then
- $CLSID = "PNG"
- $file &= ".png"
- Else
- $CLSID = $fExt
- EndIf
- $sCLSID = _GDIPlus_EncodersGetCLSID ($CLSID)
- If Not _GDIPlus_ImageSaveToFileEx ($hImage, $file, $sCLSID) Then $err = 1
- _GDIPlus_ImageDispose ($hImage)
- _WinAPI_ReleaseDC($hWnd, $hDC)
- _WinAPI_DeleteDC($memDC)
- _WinAPI_DeleteObject ($memBmp)
- If $err Then Return SetError(2, 0, 0)
- Return SetError(0, 0, 0)
- Else
- Return SetError(1, 0, 0)
- EndIf
- EndFunc
Add Comment
Please, Sign In to add comment