怎样使用plgblt的hbmMask参数?

RainStoneMail 2003-05-09 02:45:35
如题
...全文
80 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
RainStoneMail 2003-05-09
  • 打赏
  • 举报
回复
风尘兄,能够给一个单色掩模的例子,谢谢
道素 2003-05-09
  • 打赏
  • 举报
回复
hbmMask
Long,
一个可选的句柄,指向一个单色掩模。如设定了这个参数,那么只有与掩模值1对应的二进制位才会传输到目的地

SHANNON
----------------
CH21ST@HOTMAIL.COM
道素 2003-05-09
  • 打赏
  • 举报
回复
hbmMask
Identifies an optional monochrome bitmap that is used to mask the colors of the source rectangle.

例子:
Const BI_RGB = 0
Const DIB_RGB_COLORS = 0 ' color table in RGBs
Const DIB_PAL_COLORS = 1 ' color table in palette indices
Const PATCOPY = &HF00021 ' (DWORD) dest = pattern
Const PATINVERT = &H5A0049 ' (DWORD) dest = pattern XOR dest
Const PATPAINT = &HFB0A09 ' (DWORD) dest = DPSnoo
Private Type POINTAPI
x As Long
y As Long
End Type
Private Type BITMAPINFOHEADER '40 bytes
biSize As Long
biWidth As Long
biHeight As Long
biPlanes As Integer
biBitCount As Integer
biCompression As Long
biSizeImage As Long
biXPelsPerMeter As Long
biYPelsPerMeter As Long
biClrUsed As Long
biClrImportant As Long
End Type
Private Type BITMAPINFO
bmiHeader As BITMAPINFOHEADER
End Type
Private Type tBITMAP
Header As BITMAPINFO
Bytes(0 To 63) As Byte
End Type
Private Declare Function CreateDIBPatternBrushPt Lib "gdi32" (lpPackedDIB As Any, ByVal iUsage As Long) As Long
Private Declare Function PlgBlt Lib "gdi32" (ByVal hdcDest As Long, lpPoint As POINTAPI, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hbmMask As Long, ByVal xMask As Long, ByVal yMask As Long) As Long
Private Declare Function PatBlt Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal dwRop As Long) As Long
Private Declare Function GetDC Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Sub Form_Paint()

Dim hBrush As Long, tBr As tBITMAP, Cnt As Long, hOld As Long
Dim Pt(0 To 2) As POINTAPI
'set the co鰎dinates of the parallelogram
Pt(0).x = 30
Pt(0).y = 10
Pt(1).x = 300
Pt(1).y = 0
Pt(2).x = 0
Pt(2).y = 300
'resize and modify a screenshot
PlgBlt Me.hdc, Pt(0), GetDC(0), 0, 0, Screen.Width / Screen.TwipsPerPixelX, Screen.Height / Screen.TwipsPerPixelY, ByVal 0&, ByVal 0&, ByVal 0&
'initialize the tBITMAP-structure
With tBr.Header.bmiHeader
.biSize = Len(tBr.Header.bmiHeader)
.biCompression = BI_RGB
.biHeight = 8
.biPlanes = 1
.biWidth = 8
.biBitCount = 1
End With
For Cnt = 0 To 7
tBr.Bytes(Cnt) = 128
Next Cnt
'create a pattern brush
hBrush = CreateDIBPatternBrushPt(tBr, DIB_RGB_COLORS)
'select the brush into the form's DC
hOld = SelectObject(Me.hdc, hBrush)
'Perform the Pattern Block Transfer
PatBlt Me.hdc, 0, 0, 30, 30, PATCOPY
'restore the old brush and delete our pattern brush
DeleteObject SelectObject(Me.hdc, hOld)
End Sub


SHANNON
----------------
CH21ST@HOTMAIL.COM
内容概要:本文介绍了DeepSeek在职场中的应用,从提示语技巧到多场景应用,涵盖了DeepSeek的基础模型(V3)、深度思考模型(R1)及其联网搜索功能。文中详细描述了DeepSeek的模型对比,包括操作规范、结果导向、路径灵活性、响应模式和风险特征等方面。此外,还探讨了DeepSeek在制作可视化图表、PPT、海报、视频以及批量生成新媒体文案等具体应用场景中的使用方法和技巧。最后,文章展示了DeepSeek在市场调查、AI应用开发等方面的应用实例,强调了其在人机协同和共生领域的潜力。 适用人群:适用于希望提升工作效率和创新能力的职场人士,特别是从事数据分析、内容创作、市场营销、AI开发等领域的专业人士。 使用场景及目标:①通过DeepSeek的基础模型(V3)和深度思考模型(R1)进行高效的任务处理和复杂推理;②利用DeepSeek制作可视化图表、PPT、海报和视频,提高内容创作的质量和效率;③通过DeepSeek进行市场调查和AI应用开发,优化业务流程并推动创新。 其他说明:DeepSeek不仅提供了强大的AI工具,还强调了人机协同的重要性。用户在使用过程中应注意操作规范,结合实际需求选择合适的模型,并充分利用DeepSeek的各项功能来实现高效的职场应用。文中还提到了多个国际竞赛中的获奖情况,展示了DeepSeek团队在AI领域的卓越实力。

7,785

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧