急啊,高手帮帮忙。

anbiandezacao 2011-07-24 11:32:12
我用VB在picture上画了一个实心圆,我想用图片替换这个实心圆,怎么替换,求高手!
...全文
69 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
anbiandezacao 2011-07-25
  • 打赏
  • 举报
回复
问题有点复杂,有高手没?可以留下联系QQ吗?
anbiandezacao 2011-07-25
  • 打赏
  • 举报
回复
2楼能留下你的联系方式么?这问题比较复杂。谢谢了啊~
贝隆 2011-07-25
  • 打赏
  • 举报
回复
1、绘制实心圆用Circle方法
2、覆盖用BitBlt实现
c_cyd2008 2011-07-25
  • 打赏
  • 举报
回复
如果我理解没错的话,你应该只是想把图片在圆形的区域中显示,要源码的话你留下Email,我发给你吧
c_cyd2008 2011-07-25
  • 打赏
  • 举报
回复
你是想绘圆形的图片吧?

'说明:viewer 要绘图的picture控件;picture1 你要替换的图片;command1 绘制圆;command2 用图片替换

Private Declare Function CreateEllipticRgn Lib "gdi32" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
Private Declare Function SelectClipRgn Lib "gdi32" (ByVal hdc As Long, ByVal hRgn As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long


Dim px As Long, py As Long, r As Long
Private Sub Command1_Click()
Viewer.Circle (px, py), r, RGB(255, 0, 0)
End Sub

Private Sub Command2_Click()
Dim rgn As Long
'创建一个圆形区域
rgn = CreateEllipticRgn(px - r + 1, py - r + 1, px + r + 1, py + r + 1)
'将区域选到viewer的设备环境中
SelectClipRgn Viewer.hdc, rgn
'把picture1的图片绘制到viewer,图片将只在圆形区域内显示
Viewer.PaintPicture Picture1.Picture, 0, 0
DeleteObject rgn
End Sub

Private Sub Form_Load()
'初始化圆的参数
px = Viewer.ScaleWidth / 2
py = Viewer.ScaleHeight / 2
r = 120
End Sub
c_cyd2008 2011-07-25
  • 打赏
  • 举报
回复
qq:372851944
赵4老师 2011-07-25
  • 打赏
  • 举报
回复
背景色为纯白的话画一个纯黑的实心圆,然后用PaintPicture ...,vbSrcPaint
背景色为纯黑的话画一个纯白的实心圆,然后用PaintPicture ...,vbSrcAnd
q260401998 2011-07-24
  • 打赏
  • 举报
回复
沙发。路过,但用过一点VB,觉得这个控件应该有这个属性吧?

7,762

社区成员

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

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