by garry » 21 Feb 2021, 13:41
Example avec fileinstall
Code: Select all
#Warn
#NoEnv
setworkingdir,%a_scriptdir%
fileinstall,avatar.jpg,avatar.jpg,1
Gui, Add, Picture, x1 y1 w200 h-1 ,avatar.jpg
Gui,show
return
Guiclose:
Exitapp
Example du SKAN ,
essayer script-2
script-1 pour créer image et ajoutez les données du fichier 'pngdata.txt' à fichier-2 pngdata=
https://autohotkey.com/board/topic/85709-base64enc-base64dec-base64-encoder-decoder/
Fichier-1
Code: Select all
;================== SCRIPT-1 =========================================================
;-https://autohotkey.com/board/topic/85709-base64enc-base64dec-base64-encoder-decoder/
SetWorkingDir, %A_ScriptDir%
File := a_scriptdir . "\test.png"
FileGetSize, Size, %File%
FileRead, Bin, *c %File%
Base64enc( PNGDATA, Bin, Size )
aa:=pngdata
fileappend,%aa%,%a_scriptdir%\pngdata.txt,utf-8
Return
Base64enc( ByRef OutData, ByRef InData, InDataLen ) {
DllCall( "Crypt32.dll\CryptBinaryToString" ( A_IsUnicode ? "W" : "A" )
, UInt,&InData, UInt,InDataLen, UInt,1, UInt,0, UIntP,TChars, "CDECL Int" )
VarSetCapacity( OutData, Req := TChars * ( A_IsUnicode ? 2 : 1 ) )
DllCall( "Crypt32.dll\CryptBinaryToString" ( A_IsUnicode ? "W" : "A" )
, UInt,&InData, UInt,InDataLen, UInt,1, Str,OutData, UIntP,Req, "CDECL Int" )
Return TChars
}
;============== END SCRIPT-1 =========================================================
Fichier-2
Code: Select all
;================== SCRIPT-2 =========================================================
;-https://autohotkey.com/board/topic/85709-base64enc-base64dec-base64-encoder-decoder/
SetWorkingDir, %A_ScriptDir%
GoSub, LoadPNGDATA
Bytes := Base64Dec( BIN, PNGDATA )
VarZ_Save( BIN, Bytes, "test.png" )
VarSetcapacity( PNGDATA, 0 )
Gui, Margin, 0, 0
Gui, Add, Picture,x1 y1 w100 h-1,test.png
Gui, Show
Return
;------------------
GuiClose:
ExitApp
;==================
Base64dec( ByRef OutData, ByRef InData ) {
DllCall( "Crypt32.dll\CryptStringToBinary" ( A_IsUnicode ? "W" : "A" ), UInt,&InData
, UInt,StrLen(InData), UInt,1, UInt,0, UIntP,Bytes, Int,0, Int,0, "CDECL Int" )
VarSetCapacity( OutData, Req := Bytes * ( A_IsUnicode ? 2 : 1 ) )
DllCall( "Crypt32.dll\CryptStringToBinary" ( A_IsUnicode ? "W" : "A" ), UInt,&InData
, UInt,StrLen(InData), UInt,1, Str,OutData, UIntP,Req, Int,0, Int,0, "CDECL Int" )
Return Bytes
}
VarZ_Save( ByRef Data, DataSize, TrgFile ) { ; By SKAN http://www.autohotkey.com/community/viewtopic.php?t=45559
hFile := DllCall( "_lcreat", ( A_IsUnicode ? "AStr" : "Str" ),TrgFile, UInt,0 )
IfLess, hFile, 1, Return "", ErrorLevel := 1
nBytes := DllCall( "_lwrite", UInt,hFile, UInt,&Data, UInt,DataSize, UInt )
DllCall( "_lclose", UInt,hFile )
Return nBytes
}
LoadPNGDATA:
pngdata=
(Ltrim join`r`n
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
)
return
;==================== END script-2 ====================================================
Example avec fileinstall
[code]#Warn
#NoEnv
setworkingdir,%a_scriptdir%
fileinstall,avatar.jpg,avatar.jpg,1
Gui, Add, Picture, x1 y1 w200 h-1 ,avatar.jpg
Gui,show
return
Guiclose:
Exitapp
[/code]
Example du SKAN ,
essayer script-2
script-1 pour créer image et ajoutez les données du fichier 'pngdata.txt' à fichier-2 pngdata=
https://autohotkey.com/board/topic/85709-base64enc-base64dec-base64-encoder-decoder/
Fichier-1
[code];================== SCRIPT-1 =========================================================
;-https://autohotkey.com/board/topic/85709-base64enc-base64dec-base64-encoder-decoder/
SetWorkingDir, %A_ScriptDir%
File := a_scriptdir . "\test.png"
FileGetSize, Size, %File%
FileRead, Bin, *c %File%
Base64enc( PNGDATA, Bin, Size )
aa:=pngdata
fileappend,%aa%,%a_scriptdir%\pngdata.txt,utf-8
Return
Base64enc( ByRef OutData, ByRef InData, InDataLen ) {
DllCall( "Crypt32.dll\CryptBinaryToString" ( A_IsUnicode ? "W" : "A" )
, UInt,&InData, UInt,InDataLen, UInt,1, UInt,0, UIntP,TChars, "CDECL Int" )
VarSetCapacity( OutData, Req := TChars * ( A_IsUnicode ? 2 : 1 ) )
DllCall( "Crypt32.dll\CryptBinaryToString" ( A_IsUnicode ? "W" : "A" )
, UInt,&InData, UInt,InDataLen, UInt,1, Str,OutData, UIntP,Req, "CDECL Int" )
Return TChars
}
;============== END SCRIPT-1 =========================================================
[/code]
Fichier-2
[code]
;================== SCRIPT-2 =========================================================
;-https://autohotkey.com/board/topic/85709-base64enc-base64dec-base64-encoder-decoder/
SetWorkingDir, %A_ScriptDir%
GoSub, LoadPNGDATA
Bytes := Base64Dec( BIN, PNGDATA )
VarZ_Save( BIN, Bytes, "test.png" )
VarSetcapacity( PNGDATA, 0 )
Gui, Margin, 0, 0
Gui, Add, Picture,x1 y1 w100 h-1,test.png
Gui, Show
Return
;------------------
GuiClose:
ExitApp
;==================
Base64dec( ByRef OutData, ByRef InData ) {
DllCall( "Crypt32.dll\CryptStringToBinary" ( A_IsUnicode ? "W" : "A" ), UInt,&InData
, UInt,StrLen(InData), UInt,1, UInt,0, UIntP,Bytes, Int,0, Int,0, "CDECL Int" )
VarSetCapacity( OutData, Req := Bytes * ( A_IsUnicode ? 2 : 1 ) )
DllCall( "Crypt32.dll\CryptStringToBinary" ( A_IsUnicode ? "W" : "A" ), UInt,&InData
, UInt,StrLen(InData), UInt,1, Str,OutData, UIntP,Req, Int,0, Int,0, "CDECL Int" )
Return Bytes
}
VarZ_Save( ByRef Data, DataSize, TrgFile ) { ; By SKAN http://www.autohotkey.com/community/viewtopic.php?t=45559
hFile := DllCall( "_lcreat", ( A_IsUnicode ? "AStr" : "Str" ),TrgFile, UInt,0 )
IfLess, hFile, 1, Return "", ErrorLevel := 1
nBytes := DllCall( "_lwrite", UInt,hFile, UInt,&Data, UInt,DataSize, UInt )
DllCall( "_lclose", UInt,hFile )
Return nBytes
}
LoadPNGDATA:
pngdata=
(Ltrim join`r`n
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
)
return
;==================== END script-2 ====================================================
[/code]