社区
多媒体
帖子详情
牵扯到了截图的问题牵扯到了截图的问题
njhyh
2005-02-24 03:20:48
如何将一幅图片中的某一个区域取出并放置在另一个图片框中.
例如:有一个人的照片在vb界面的picture框中,如何将该图片的人头截取下来,并在截取的时候能像PhotoShop一样,可以显示一个虚线框。并放置在另一个picture框中.
谢谢!急!分不够可以在加。
寻求源码!谢谢大家了
...全文
104
6
打赏
收藏
牵扯到了截图的问题牵扯到了截图的问题
如何将一幅图片中的某一个区域取出并放置在另一个图片框中. 例如:有一个人的照片在vb界面的picture框中,如何将该图片的人头截取下来,并在截取的时候能像PhotoShop一样,可以显示一个虚线框。并放置在另一个picture框中. 谢谢!急!分不够可以在加。 寻求源码!谢谢大家了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
njhyh
2005-02-25
打赏
举报
回复
谢谢,解决了!文章很好,收藏
zyg0
2005-02-24
打赏
举报
回复
http://community.csdn.net/Expert/topic/3764/3764975.xml?temp=.8497431
熊孩子开学喽
2005-02-24
打赏
举报
回复
使用Picture控件的PaintPicture方法,或者使用BITBLE这个API可以将一个图片中选定范围的图像截取到另一个PICTURE控件上。
zyl910
2005-02-24
打赏
举报
回复
在任意位置绘制图形
使用 PaintPicture 方法,可以在窗体、图片框和 Printer 对象上的任何地方,绘制图形。PaintPicture 方法的语法是:
[object.]PaintPicture pic, destX, destY[, destWidth[, destHeight[, srcX _
[, srcY[, srcWidth[, srcHeight[, Op]]]]]]]
目标 object 指的是窗体、图片框或 Printer 对象,这些地方都是 pic 图片表现的处所。如果 object 被忽略了,则认为指定的就是当前的窗体。pic 参数必须是一个图片对象,它是由窗体或控件的 Picture 属性决定。
destX 和 destY 参数,是按照 objec 的 ScaleMode,该图象将出现的水平和垂直位置。destWidth 和 destHeight 参数是可选项,用来设置在 object 目标中该图象的宽度和高度。
srcX 和 srcY 参数是可选项,用来定义 pic 中裁剪区左上角的 x 和 y 坐标。
可选的 Op 参数用来定义当在目标 object 上绘图时,在图片上执行的光栅操作(例如,AND 和 XOR)。
PaintPicture 方法可代替 BitBlt Windows API 函数,在将矩形图形块从一个地方移到任意另一地方时,它可执行广泛的各种操作。
例如,可以使用 PaintPicture 方法生成同一位图的多份副本,并将它们平铺在窗体上。使用这种方法,比在窗体上移动图片控件要快。下列代码是用来平铺图片控件的 100 份拷贝,并且通过给 destWidth 设置一个负值,可以使每张图片进行水平翻转。
For i = 0 To 10
For j = 0 To 10
Form1.PaintPicture picF.Picture, j * _
picF.Width, i * picF.Height, _
picF.Width, -picF.Height
Next j, i
详细信息 请参阅《语言参考》的“PaintPicture 方法”。
zyl910
2005-02-24
打赏
举报
回复
PaintPicture 方法
用以在 Form, PictureBox 或 Printer 上绘制图形文件(.bmp、.wmf、.emf、.cur、.ico或 .dib)的内容。不支持命名参数。
语法
object.PaintPicture picture, x1, y1, width1, height1, x2, y2, width2, height2, opcode
PaintPicture 方法的语法包含下列部分:
部分 描述
object 可选的。一个对象表达式,其值为“应用于”列表中的一个对象。如果省略 object,带有焦点的 Form 对象缺省为 object。
Picture 必需的。要绘制到 object 上的图形源。Form 或 PictureBox 必须是 Picture 属性。
x1, y1 必需的。均为单精度值,指定在 object 上绘制 picture 的目标坐标(x-轴和y-轴)。object 的 ScaleMode 属性决定使用的度量单位。
Width1 可选的。单精度值,指示 picture 的目标宽度。object 的 ScaleMode 属性决定使用的度量单位。如果目标宽度比源宽度 (width2) 大或小,将适当地拉伸或压缩 picture。如果该参数省略,则使用源宽度。
Height1 可选的。 单精度值,指示 picture 的目标高度。object 的 ScaleMode 属性决定使用的度量单位。如果目标高度比源高度 (height2) 大或小,将适当地拉伸或压缩 picture。如果该参数省略,则使用源高度。
x2, y2 可选的。均为单精度值,指示 picture 内剪贴区的坐标(x-轴和y-轴)。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则缺省为 0。
Width2 可选的。单精度值,指示 picture 内剪贴区的源宽度。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则使用整个源宽度。
Height2 可选的。 单精度值,指示 picture 内剪贴区的源高度。object 的 ScaleMode 属性决定使用的度量单位。如果该参数省略,则使用整个源高度。
Opcode 可选的。是长型值或仅由位图使用的代码。它用来定义在将 pictur 绘制到 object 上时对 picture 执行的位操作(例如, vbMergeCopy 或 vbSrcAnd 操作符)。关于位操作符常数的完整列表,请参阅 Visual Basic Help 文件中的 RasterOp Constants 主题。
在使用opcode时有一些限制。例如,如果资源是图标或图元文件,则只能使用 vbSrcCopy,而不能使用其他的opcode;并且,与图案 (或 SDK 术语中的"画笔"),如 MERGECOPY、 PATCOPY、 PATPAINT 和 PATINVERT,相交互的opcode实际上是同目标的 FillStyle 属性交互。
注意 Opcode 用于将按位操作传递到位图。当传递其他图象类型时将一个值给该参数会造成“无效过程调用或参数”错误。这是设计的原因。要避免这个错误,对于除位图外的图象,将 Opcode 参数置为空。
说明
通过使用负的目标高度值 (height1) 和 / 或目标宽度值 (width1) ,可以水平或垂直翻转位图。
可以省略任何多个可选的尾部的参数 。如果省略了一个或多个可选尾部参数,则不能在指定的最后一个参数后面使用逗号。如果想指定某个可选参数,则必须先指定语法中出现在该参数前面的全部参数。
注意,在将一个.Bmp加载入 PictureBox 控件和使用 Windows API 函数 BitBlt() 添加图片之间有一点不同。当您对一个图象使用 BitBlt() 时,PictureBox 控件不知道象您使用 LoadPicture方法那样去调整大小。将 ScaleWidth 和 ScaleHeight 属性设置为图象的大小也不起作用。如果您想在使用 BitBlt 之后用 PictureBox 调整新图片的大小,必须用代码手工做,转换单位并处理边框,下面是如何这样做的一个简单示例:
Sub ResizePictureBoxToImage(pic as PictureBox, twipWd _
as Integer, twipHt as Integer)
' 该代码假设所有的单位都为缇。如果
' 不是,必须在调用该例程之前,转换为缇。
' 这里也假设图象显示在0,0处。
Dim BorderHt as Integer, BorderWd as Integer
BorderWd = Pic.Width - Pic.ScaleWidth
BorderHt = Pic.Height - Pic.ScaleHeight
pic.Move pic.Left, pic.Top, twipWd + BorderWd, _
twipHt + BorderHt
End Sub
zyl910
2005-02-24
打赏
举报
回复
处理好鼠标事件,虚线效果可以用4个line控件模拟(自己画也行)
至于图像剪裁复制
用PaintPicture
写这样的程序需要对数学、计算机图形学、数字图像处理由一定程度的理解
违反主键约束
牵扯
出的
问题
一般情况下,在数据库中插入记录时,该记录主键值与已存在记录中主键 值重复,会出现这个
问题
。 但是我在报了这个错后反复检查了多遍代码,七层之间数据传输没
问题
, SQL语句也没错。为什么会报这个错呢。 首先,删除了UserID主键。 再次运行代码,插入一条UserID为9的记录。再
war包发布到linux服务器上出现500报错
war包发布到linux服务器上出现500报错 相信大家有很多同学将自己的写好的网页项目打包成war包发布到linux服务器上网页的页面显示没
问题
,但是一登录
牵扯
到数据库
问题
就出现500报错,这个
问题
我之前的时候也遇到了,然后各种查各种看帖子也没解决我的
问题
,后来晚上睡觉的时候想了一下,对着个错误有点头绪了,然后第二天早上试了一下,
问题
就解决了。
问题
截图
。 之前在myecplise下连linux服务器中的数据库成功了,然后就直接将项目打包成war包发布到linux服务器中去了,然后运行就出现了这个500报
子网掩码 快速计算 .因为要
牵扯
到二进制的变换
在平常计算子网掩码的时候比较麻烦,因为要
牵扯
到二进制的变换,对于如何计算子网掩码和从子网掩码快速的看出相关信息。我个人得出一个小经验。 比如一个C网要分成两个网段,那么256/2=128.每个子网128个地址。用256减去每个子网的地址数,256-128=128,子网掩码就是255.255.255.128; 分成4个网段,256/4=64每个子网64个地址。用256减去每个子网
Java面试题:SSH和SSM原理对比总结以及
牵扯
到的面试
问题
当下流行的两种企业开发MVC开源框架,是我们Java程 序猿必备知识能力。MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑dao层、持久层,数据库表 实体类(通过JavaBean,EJB组件实现), "View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用...
调试笔记 — Redis 消息队列发布信息被消费者重复订阅多次
牵扯
到的 Tomcat 配置
问题
[#00001]
最近在项目中发现了一个奇葩的 BUG ,当用户调用后台时,后台向消息队列中发布一条消息,这条消息会被监听器(消费者)监听到,有趣的事情就在这里,此时由于只发送了一条消息,照理说监听器应该只会触发一次,但是却总是订阅2次(有的客户服务器启动甚至会初始化好几次,不知具体原因),然后就不会再订阅了,当时向消息队列发布信息我是使用的 RedisTemplate 里面的 convertAndSend(chan
多媒体
809
社区成员
8,275
社区内容
发帖
与我相关
我的任务
多媒体
VB 多媒体
复制链接
扫一扫
分享
社区描述
VB 多媒体
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章