9月12018
AU3图片转字符串,抖音热
#include <gdiplus.au3>
$sFile = '333.jpg' ;需要处理的图片
_GDIPlus_Startup()
FileWrite($sFile&".txt",_PicToText($sFile))
_GDIPlus_Shutdown()
;返回 转换后的字符串
Func _PicToText($sFile);by:绿色风 [url]www.jianyiit.com[/url]
Local $hImage = _GDIPlus_ImageLoadFromFile($sFile) ;載入圖片
Local $iW = _GDIPlus_ImageGetWidth($hImage) ;获取图片 宽度
Local $iH = _GDIPlus_ImageGetHeight($hImage) ;获取图片 高度
Local $str
For $i = 0 To $iH - 1 ;处理速度有点慢 没想到别的方法
For $j = 0 To $iW - 1
$iColor = _GDIPlus_BitmapGetPixel($hImage, $j, $i) ;获取像素点的颜色
$iR = BitShift(BitAND($iColor, 0x00FF0000), 16) ;用来去红颜色
$iG = BitShift(BitAND($iColor, 0x0000FF00), 8) ;用来去绿颜色
$iB = BitAND($iColor, 0x000000FF) ;;用来去蓝颜色
$str &= _PixToText(Int(($iR + $iG + $iB) / 3)) ;像素点转字符
Next
$str &= @CRLF
Next
_GDIPlus_ImageDispose($hImage)
Return $str ;返回字符串
EndFunc ;==>_PicToText
;根据像素值生成相应字符
Func _PixToText($pix)
If $pix <= 30 Then
Return '8' ;
ElseIf $pix > 30 and $pix <= 60 Then
Return '&' ;
ElseIf $pix > 60 and $pix <= 120 Then
Return '$' ;
ElseIf $pix > 120 and $pix <= 150 Then
Return '*' ;
ElseIf $pix > 150 and $pix <= 180 Then
Return 'o' ;
ElseIf $pix > 180 and $pix <= 210 Then
Return '!' ;
ElseIf $pix > 210 and $pix <= 240 Then
Return ';' ;
Else
Return '.' ;
EndIf
EndFunc ;==>_PixToText
扫描二维码,在手机上阅读
发表评论
木有头像就木JJ啦!还木有头像吗?点这里申请属于你的个性Gravatar头像吧!