发表回复 
有人有兴趣研究下这个?(更新官方演示翻译)
2010-06-25, 14 : 17
有人有兴趣研究下这个?(更新官方演示翻译)
[i=s] 本帖最后由 maxspeedwind 于 2010-7-13 14:25 编辑 [/i]

更漂亮的图形界面,边缘抗锯齿,还可以在窗口内画各种线条图形。就是比较复杂,以前研究了一下不怎么懂,只会做简单窗口。有人有兴趣玩这个吗?
http://www.autohotkey.com/forum/viewtopi...hlight=gdi

增加官方演示中文版


附件
.ahk  Gdip.Tutorial.1-Draw.Shapes.ahk (大小: 2.48 KB / 下载: 73)
.ahk  Gdip.Tutorial.2-Draw.Outlined.Shapes.ahk (大小: 2.39 KB / 下载: 37)
.ahk  Gdip.Tutorial.3-Create.Gui.From.Image.ahk (大小: 2.73 KB / 下载: 35)
.ahk  Gdip.Tutorial.4-Draw.Circles.ahk (大小: 3.06 KB / 下载: 30)

懒惰是学习AHK的唯一动力
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
[+] 1用户表示感谢maxspeedwind
2010-06-25, 20 : 17
 
GDIPlus我以前试过,不过不知道哪里出了问题,AHK经常崩溃。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-25, 22 : 02
 
这些教程都下了,在盘里搁着,看了半年还是没看会。。。

所有脚本存至项目: https://github.com/health901/AHK, 欢迎fork
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-26, 18 : 31
 
的确可以做出很漂亮的界面
虽然电脑被偷了
还是要继续研究研究

  • AHK basic群:58806956
  • AHK advance群:3222783
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-26, 19 : 51
 
谁能把各函数的说明翻译一下
看起来会舒服点

  • AHK basic群:58806956
  • AHK advance群:3222783
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 12 : 08
 
[i=s] 本帖最后由 maxspeedwind 于 2010-6-29 14:20 编辑 [/i]

翻了前面一点,但有一点没搞懂,最后说函数成功的话返回值非0,但参数里面OK=0不知怎么回事
代码: (全选)
; Gdip 标准库 v1.30 by tic (Tariq Porter) 02/01/10
;
;###############################################################################​######
;###############################################################################​######
; 状态列表
; 函数返回值包含状态参数,如下
;###############################################################################​######
; Ok = 0
; 一般错误 = 1
; 无效参数 = 2
; 内存空间不足 = 3
; 目标忙碌 = 4
; 缓存不足 = 5
; 未执行 = 6
; Win32错误 = 7
; 状态错误 = 8
; 退出 = 9
; 文件未找到 = 10
; 数值溢出 = 11
; 访问被拒绝 = 12
; 未知图像格式 = 13
; 字体未找到 = 14
; 字体样式未找到 = 15
; 非TrueType字体 = 16
; 不支持的Gdiplus版本 = 17
; Gdiplus未初始化 = 18
; 属性未找到 = 19
; 不支持的属性 = 20
; 参数文件未找到 = 21
;###############################################################################​######
;###############################################################################​######
; GDI 与结构函数
; ########################
; 更新 LayeredWindow
; 创建 RectF
; 创建 SizeF
; 创建 DIBSection
;(译注:以上名称请查阅MSDN)
;###############################################################################​######
;###############################################################################​######
;
; GDI 与结构函数
;
;###############################################################################​######
;###############################################################################​######

; 函数:     UpdateLayeredWindow
; 描述:  更新一个分层窗口和位图DC句柄(译注:位图DC是啥玩意儿)
;  
; hwnd            = 欲更新的窗口句柄
; hdc           = 与窗口一起更新的GDI位图的DC句柄
; Layeredx      = 窗口放置位置的X坐标
; Layeredy      = 窗口放置位置的Y坐标
; Layeredw      = 窗口宽度
; Layeredh      = 窗口高度
; Alpha         = 默认= 255 : 窗口透明度(0-255)
;
; Return:          如果函数成功执行,返回值非0
;
UpdateLayeredWindow(hwnd, hdc, x="", y="", w="", h="", Alpha=255)
{
   If ((x != "") && (y != ""))
   VarSetCapacity(pt, 8), NumPut(x, pt, 0), NumPut(y, pt, 4)
  
   If ((w = "") ||(h = ""))
   WinGetPos,,, w, h, ahk_id %hwnd%
  
   Return, DllCall("UpdateLayeredWindow"
   , "UInt", hwnd
   , "UInt", 0
   , "UInt", ((x = "") && (y = "")) ? 0 : &pt
   , "Int64*", w|h<<32
   , "UInt", hdc
   , "Int64*", 0
   , "UInt", 0
   , "UInt*", Alpha<<16|1<<24
   , "UInt", 2)
}
;###############################################################################​######
BitBlt(dDC, dx, dy, dw, dh, sDC, sx, sy, Raster="")
{
    Return, DllCall("gdi32\BitBlt"
    , "UInt", dDC                            ; 目标DC的句柄
    , "Int", dx                                ; 目标位置的左上角X坐标
    , "Int", dy                                ; 目标位置的左上角Y坐标
    , "Int", dw                                ; 目标位置的矩形宽度
    , "Int", dh                                ; 目标位置的矩形高度
    , "UInt", sDC                            ; 来源DC的句柄
    , "Int", sx                                ; 来源位置的左上角X坐标
    , "Int", sy                                ; 来源位置的左上角Y坐标
    , "UInt", Raster ? Raster : 0x00CC0020)    ; 扫描线操作代码
}
;###############################################################################​######
StretchBlt(dDC, dx, dy, dw, dh, sDC, sx, sy, sw, sh, Raster="")
{
    Return, DllCall("gdi32\StretchBlt"
    , "UInt", dDC                            ; 目标DC的句柄
    , "Int", dx                                ; 目标位置的左上角X坐标
    , "Int", dy                                ; 目标位置的左上角Y坐标
    , "Int", dw                                ; 目标位置的矩形宽度
    , "Int", dh                                ; 目标位置的矩形高度
    , "UInt", sDC                            ; 来源DC的句柄
    , "Int", sx                                ; 来源位置的左上角X坐标
    , "Int", sy                                ; 来源位置的左上角Y坐标
    , "Int", sw                                ; 来源矩形的宽度
    , "Int", sh                                ; 来源矩形的高度
    , "UInt", Raster ? Raster : 0x00CC0020)    ; 扫描线操作代码
}
;###############################################################################​######
SetImage(hwnd, hBitmap)
{
    SendMessage, 0x172, 0x0, hBitmap,, ahk_id %hwnd%
    E := ErrorLevel
    DeleteObject(E)
    return E
}
;###############################################################################​######
Gdip_BitmapFromScreen(Screen=0, Raster="")
{
    If (Screen = 0)
    {
        Sysget, x, 76
        Sysget, y, 77    
        Sysget, w, 78
        Sysget, h, 79
    }
    Else If (Screen&1 != "")
    {
        Sysget, M, Monitor, %Screen%
        x := MLeft, y := MTop, w := MRight-MLeft, h := MBottom-MTop
    }
    Else
    {
        StringSplit, S, Screen, |
        x := S1, y := S2, w := S3, h := S4
    }
    
    If (x = "") || (y = "") || (w = "") || (h = "")
    Return, -1
    
    chdc := CreateCompatibleDC(), hbm := CreateDIBSection(w, h, chdc), obm := SelectObject(chdc, hbm), hhdc := GetDC()
    BitBlt(chdc, 0, 0, w, h, hhdc, x, y, Raster)
    ReleaseDC(hhdc)
    
    pBitmap := Gdip_CreateBitmapFromHBITMAP(hbm)
    SelectObject(hhdc, obm), DeleteObject(hbm), DeleteDC(hhdc), DeleteDC(chdc)
    Return, pBitmap
}

;###############################################################################​######

Gdip_BitmapFromHWND(hwnd=0)
{
    WinGetPos,,, Width, Height, ahk_id %hwnd%
    hbm := CreateDIBSection(Width, Height), hdc := CreateCompatibleDC(), obm := SelectObject(hdc, hbm)
    PrintWindow(hwnd, hdc)
    pBitmap := Gdip_CreateBitmapFromHBITMAP(hbm)
    SelectObject(hdc, obm), DeleteObject(hbm), DeleteDC(hdc)
    Return, pBitmap
}

懒惰是学习AHK的唯一动力
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 13 : 31
 
求助如何批量设置Gui


Gui, 1:+alwaysontop -caption
Gui, 2:+alwaysontop -caption
Gui, 3:+alwaysontop -caption
之类的...
这个貌似不好用表达式写

  • AHK basic群:58806956
  • AHK advance群:3222783
访问这个用户的网站 查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 14 : 26
 
代码: (全选)
; 函数:        CreateRectF
; 描述:     创建一个 RectF 项,其中包含坐标和矩形尺寸
;
; RectF           = RectF 项的名称
; x            = 矩形左上角的X坐标
; y            = 矩形左上角的Y坐标
; w            = 矩形宽度
; h            = 矩形高度
;
; Return:      无返回值
;
CreateRectF(ByRef RectF, x, y, w, h)
{
   VarSetCapacity(RectF, 16)
   NumPut(x, RectF, 0, "Float"), NumPut(y, RectF, 4, "Float"), NumPut(w, RectF, 8, "Float"), NumPut(h, RectF, 12, "Float")
}
;###############################################################################​######

; 函数:    CreateSizeF
; 描述:   创建一个 SizeF 项,包含一个二元值
;
; SizeF         = SizeF 项的名称
; w            = SizeF 项的宽度值
; h            = SizeF 项的高度值
;
; Return:      无返回值
;
CreateSizeF(ByRef SizeF, w, h)
{
   VarSetCapacity(SizeF, 8)
   NumPut(w, SizeF, 0, "Float"), NumPut(h, SizeF, 4, "Float")    
}

懒惰是学习AHK的唯一动力
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 14 : 29
 
我觉得还用翻译吗,往下看了一下没什么可翻译的了,这个玩意没有手册吗,那几个函数说明也太简明了

懒惰是学习AHK的唯一动力
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 14 : 51
 
9# maxspeedwind 搜索GDI+可以找到。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 14 : 52
 
7# dracula004 用API函数。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 17 : 46
 
加个循环不就行了
Loop,10
{
Gui, %A_index%:+alwaysontop -caption +toolWindow
Gui,%A_index%:color,EEAA99,EEAA99
Gui,%A_index%:Add,edit,,% "win " . A_index
Gui,%A_index%:show,% "w100 " . "h100 " . "x" . A_index*102
}
return
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 17 : 58
 
我也想说的,不过有多少个Gui,数量不容易获取,又要自己弄数组维护

所有脚本存至项目: https://github.com/health901/AHK, 欢迎fork
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 20 : 56
 
把官网上的例子挨个看了一遍,出现过的函数依葫芦照瓢应该还能将就一下
好像也就出现过几个函数,前面几个什么句柄,画图区的不管,有刷子工具,钢笔工具,带图案的刷子工具,再有对应的填充椭圆,矩形,圆角矩形,画椭圆,矩形,圆角矩形,画线​,还有用现有图来画的,再有就是文字和动态图,不过那个动态图的格式的BRA(有点邪恶),不知是什么格式的
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-29, 23 : 49
 
那个bra貌似执行的时候在从网上下载东西

懒惰是学习AHK的唯一动力
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-06-30, 00 : 27
 
[i=s] 本帖最后由 xzk235 于 2010-6-30 15:33 编辑 [/i]

不是BRA在下载东西,这个就是他下载来作为他例子里的动画使用的,如果有这个文件就不会下载
整理了一下函数列表,大概知道什么意思的写了个说明,GDI方面本来就不懂,再加上E文太烂,难免理解不对,别误导大家就好
代码: (全选)
pGraphics:不知怎么理解,Draw和Fill命令都要用到这个
ARGB:透明度+RGB色,
pBitmap
DC:device context,
pPen:钢笔工具指针(Pointer这个不知是不是译为指针,handle这个我译为句柄),用于Draw类命令
pBrush:刷子工具指针,用于Fill类命令
Points:路径,用|隔开的坐标组,如"x1,y1|x2,y2|x3,y3....."
X,Y:左上角坐标
r:圆角半径
W,H:宽度,高度(椭圆中即为长轴和短轴,分别代表水平方向轴和垂直方向轴)
StartAngle:起始角度,以X正向为0顺时针方向旋转计算
SweepAngle:掠过角度,即扇角度

UpdateLayeredWindow(hwnd, hdc, x="", y="", w="", h="", Alpha=255)  ;用自己画的hdc更新窗口[hwnd],ALPHA 透明度,成功返回非0
BitBlt(ddc, dx, dy, dw, dh, sdc, sx, sy, Raster="")      ;,成功返回非0
StretchBlt(ddc, dx, dy, dw, dh, sdc, sx, sy, sw, sh, Raster="")   ;好像和上一个函数差不多,只是来源多宽高参数,成功返回非0
SetStretchBltMode(hdc, iStretchMode=4)
SetImage(hwnd, hBitmap)
SetSysColorToControl(hwnd, SysColor=15)
pBitmap=Gdip_BitmapFromScreen(Screen=0, Raster="")      ;坐屏幕返回,默认整个屏幕(还是显示区域,搞不清楚),成功返回pBitmap指针
pBitmap=Gdip_BitmapFromHWND(hwnd)           ;从hwnd返回,成功返回pBitmap指针
CreateRectF(ByRef RectF, x, y, w, h)          ;创建矩形对象,包含坐标,宽,高
CreateSizeF(ByRef SizeF, w, h)            ;创建尺寸对象,包含宽,高
CreatePointF(ByRef PointF, x, y)           ;创建位置对象,包含坐标
CreateDIBSection(w, h, hdc="", bpp=32, ByRef ppvBits=0)     ;创建绘图区
PrintWindow(hwnd, hdc, Flags=0)
DestroyIcon(hIcon)
PaintDesktop(hdc)
CreateCompatibleBitmap(hdc, w, h)
CreateCompatibleDC(hdc=0)             ;成功返回现有设备(显示器?)句柄DC
SelectObject(hdc, hgdiobj)             ;在DC中选择一个对象
DeleteObject(hObject)              ;删除对象
GetDC(hwnd=0)                ;用句柄获取DC?
ReleaseDC(hdc, hwnd=0)              ;释放DC(清空?)
DeleteDC(hdc)                ;删除DC
Gdip_LibraryVersion()              ;版本号
Gdip_BitmapFromBRA(ByRef BRAFromMemIn, File, Alternate=0)     ;返回pBitmap指针

;钢笔工具
Gdip_DrawRectangle(pGraphics, pPen, x, y, w, h)    ;画矩形,与填充矩形参数相同,钢笔工具
Gdip_DrawRoundedRectangle(pGraphics, pPen, x, y, w, h, r)  ;画圆角矩形,与填充圆角矩形参数相同,钢笔工具
Gdip_DrawEllipse(pGraphics, pPen, x, y, w, h)     ;画椭圆,与填充椭圆参数相同,用钢笔工具
Gdip_DrawBezier(pGraphics, pPen, x1, y1, x2, y2, x3, y3, x4, y4)  ;画贝塞尔曲线
Gdip_DrawArc(pGraphics, pPen, x, y, w, h, StartAngle, SweepAngle)  ;参考Gdip_DrawPie,参数相同,不包括扇形的两条半径边
Gdip_DrawPie(pGraphics, pPen, x, y, w, h, StartAngle, SweepAngle)  ;画扇形,与Gdip_FillPie填充命令相比,就只有边框
Gdip_DrawLine(pGraphics, pPen, x1, y1, x2, y2)       ;根据两坐标画线
Gdip_DrawLines(pGraphics, pPen, Points)   ;根据路径点画线,有Gdip_DrawLine的功能,看来不用记Gdip_DrawLine了
;刷子工具
Gdip_FillRectangle(pGraphics, pBrush, x, y, w, h)     ;填充矩形,同Gdip_FillRoundedRectangle中r=0
Gdip_FillRoundedRectangle(pGraphics, pBrush, x, y, w, h, r)  ;填充圆角矩形
Gdip_FillPolygon(pGraphics, pBrush, Points, FillMode=0)  ;填充多边形
Gdip_FillPie(pGraphics, pBrush, x, y, w, h, StartAngle, SweepAngle)  ;参考Gdip_FillEllipse,多两角度参数,扇形角度(若>=360,则同Gdip_FillEllipse效果一样)
Gdip_FillEllipse(pGraphics, pBrush, x, y, w, h)  ;填充椭圆,参数参考Gdip_FillPie
Gdip_FillRegion(pGraphics, pBrush, Region)  ;填充区域
Gdip_FillPath(pGraphics, pBrush, Path)
;
Gdip_DrawImagePointsRect(pGraphics, pBitmap, Points, sx="", sy="", sw="", sh="", Matrix=1)  ;此处Points只支持上左,上右,下左三组坐标
Gdip_DrawImage(pGraphics, pBitmap, dx="", dy="", dw="", dh="", sx="", sy="", sw="", sh="", Matrix=1) ;用pBitmap画pGraphics,dxywh为目录,sxywh为来源
Gdip_SetImageAttributesColorMatrix(Matrix)      ;设置图象颜色调整矩阵
Gdip_GraphicsFromImage(pBitmap)         ;由pBitmap返回pGraphics
Gdip_GraphicsFromHDC(hdc)          ;由DC返回pGraphics
Gdip_GetDC(pGraphics)           ;由pGraphics返回DC
Gdip_ReleaseDC(pGraphics, hdc)
Gdip_GraphicsClear(pGraphics, ARGB=0x00ffffff)    ;用指定颜色清除pGraphics上的图像(效果就是用第二参数的颜色填充整个pGraphics)
Gdip_BlurBitmap(pBitmap, Blur)         ;使pBitmap模糊?Blur值1~100
Gdip_SaveBitmapToFile(pBitmap, sOutput, Quality=100)   ;保存到文件
Gdip_GetPixel(pBitmap, x, y)         ;pBitmap上x,y坐标像素颜色,返回值ARGB
Gdip_SetPixel(pBitmap, x, y, ARGB)        ;设置某点颜色
;---------------------------------------------------------------------------------------------------
Gdip_GetImageWidth(pBitmap)            ;获取宽度
Gdip_GetImageHeight(pBitmap)           ;获取高度
Gdip_GetDimensions(pBitmap, ByRef Width, ByRef Height)    ;获取尺寸,宽,高一起返回,就是上两个函数的组合
Gdip_GetDpiX(pGraphics)             ;水平方向每英寸多少个点(像素)
Gdip_GetDpiY(pGraphics)             ;垂直方向每英寸多少个点(像素)
Gdip_GetImageHorizontalResolution(pBitmap)        ;水平方向分辨率
Gdip_GetImageVerticalResolution(pBitmap)        ;垂直方向分辨率
;----------------------------------------------------------------------------------------------------
Gdip_CreateBitmapFromFile(sFile, IconNumber=1, IconSize="")   ;从文件(如EXE,DLL)创建返回pBitmap
Gdip_CreateBitmapFromHBITMAP(hBitmap, Palette=0)
Gdip_CreateHBITMAPFromBitmap(pBitmap, Background=0xffffffff)
Gdip_CreateBitmapFromHICON(hIcon)          ;返回pBitmap
Gdip_CreateHICONFromBitmap(pBitmap)
Gdip_CreateBitmap(Width, Height, Format=0x26200A)      ;返回pBitmap
Gdip_CreateBitmapFromClipboard()          ;从剪贴板创建,返回pBitmap
Gdip_SetBitmapToClipboard(pBitmap)          ;从pBitmap到剪贴板
Gdip_CloneBitmapArea(pBitmap, x, y, w, h, Format=0x26200A)   ;复制某个区域,返回pBitmap
Gdip_CreatePen(ARGB, w)             ;用颜色,线宽创建钢笔工具,返回pPen,用于Draw命令
Gdip_CreatePenFromBrush(pBrush, w)          ;从刷子创建钢笔工具,即用刷子的颜色,设置线宽
Gdip_BrushCreateSolid(ARGB=0xff000000)         ;用颜色创建刷子,返回pBrush,用于Fill命令
Gdip_BrushCreateHatch(ARGBfront, ARGBback, HatchStyle=0)    ;用前景色,背景色,图案类型(0~53)创建刷子
Gdip_CreateTextureBrush(pBitmap, WrapMode=1, x=0, y=0, w="", h="")
Gdip_CreateLineBrush(x1, y1, x2, y2, ARGB1, ARGB2, WrapMode=1)
Gdip_CreateLineBrushFromRect(x, y, w, h, ARGB1, ARGB2, LinearGradientMode=1, WrapMode=1)
Gdip_CloneBrush(pBrush)
Gdip_DeletePen(pPen)
Gdip_DeleteBrush(pBrush)
Gdip_DisposeImage(pBitmap)
Gdip_DeleteGraphics(pGraphics)
Gdip_DisposeImageAttributes(ImageAttr)
Gdip_DeleteFont(hFont)
Gdip_DeleteStringFormat(hFormat)
Gdip_DeleteFontFamily(hFamily)
Gdip_DeleteMatrix(Matrix)
;文本类
Gdip_TextToGraphics(pGraphics, Text, Options, Font="Arial", Width="", Height="", Measure=0)
Gdip_DrawString(pGraphics, sString, hFont, hFormat, pBrush, ByRef RectF)
Gdip_MeasureString(pGraphics, sString, hFont, hFormat, ByRef RectF)
Gdip_SetStringFormatAlign(hFormat, Align)
Gdip_StringFormatCreate(Format=0, Lang=0)
Gdip_FontCreate(hFamily, Size, Style=0)
Gdip_FontFamilyCreate(Font)
Gdip_CreateAffineMatrix(m11, m12, m21, m22, x, y)
Gdip_CreateMatrix()
Gdip_CreatePath(BrushMode=0)
Gdip_AddPathEllipse(Path, x, y, w, h)
Gdip_AddPathPolygon(Path, Points)
Gdip_DeletePath(Path)
;渲染设置
Gdip_SetTextRenderingHint(pGraphics, RenderingHint)           ;文本渲染,0~4
Gdip_SetInterpolationMode(pGraphics, InterpolationMode)          ;插值,0~7
Gdip_SetSmoothingMode(pGraphics, SmoothingMode)            ;设置抗锯齿,0~4
Gdip_SetCompositingMode(pGraphics, CompositingMode=0)          ;合成模式,0混合(blended),1覆盖(overwrite)
;开启,关闭
Gdip_Startup()                    ;不知详细啥用,反正用之前先开,用完了关
Gdip_Shutdown(pToken)
;----------------图象变化函数---------------
Gdip_RotateWorldTransform(pGraphics, Angle, MatrixOrder=0)         ;旋转坐标,要画斜方向的图,先转坐标,类似于CAD
Gdip_ScaleWorldTransform(pGraphics, x, y, MatrixOrder=0)        ;缩放,配合平移可实现图像反转(如缩放X为-1,平移X为-Width)
Gdip_TranslateWorldTransform(pGraphics, x, y, MatrixOrder=0)        ;平移
Gdip_ResetWorldTransform(pGraphics)               ;重置世界坐标?
Gdip_GetRotatedTranslation(Width, Height, Angle, ByRef xTranslation, ByRef yTranslation) ;获取旋转后变化?
Gdip_GetRotatedDimensions(Width, Height, Angle, ByRef RWidth, ByRef RHeight)    ;获取旋转后尺寸?
;------------------------------------------------------
Gdip_SetClipRect(pGraphics, x, y, w, h, CombineMode=0)
Gdip_SetClipPath(pGraphics, Path, CombineMode=0)
Gdip_ResetClip(pGraphics)
Gdip_GetClipRegion(pGraphics)
Gdip_SetClipRegion(pGraphics, Region, CombineMode=0)
Gdip_CreateRegion()
Gdip_DeleteRegion(Region)
把官网上的例子也帖个过来吧


附件
.rar  GDIP示例.rar (大小: 25.03 KB / 下载: 15)
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
[+] 1用户表示感谢xzk235
2010-07-02, 09 : 18
 
从网上弄到了GDI+手册,很恐怖,3M文本,看到猴年马月:
http://download.chinaprj.cn/link.php?key...3346308ac5

不过回过来想想,本来用ahk是为了方便的,现在竟然越玩越复杂,与初衷背道而驰了:dizzy:

懒惰是学习AHK的唯一动力
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-07-02, 10 : 41
 
所以我现在碰到太复杂,需要学很久才会的东西,直接放弃
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-07-02, 11 : 21
 
LZ说得对呀,AHK也不是万能的,因地而用才是王道
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2010-07-13, 13 : 58
 
更新自己顶

懒惰是学习AHK的唯一动力
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合