CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

图片的水平翻转,和网页制作中的flipH功能一样的。

楼主xusang(阿桑)2004-09-04 01:34:20 在 VB / API 提问

有没有知道如何实现和网页制作中flipH功能一样的功能?   好像   一张图倒扣过来一样,底朝上。  
  多谢大家。 问题点数:100、回复次数:8Top

1 楼xusang(阿桑)回复于 2004-09-04 01:40:26 得分 0

就是css中flipH滤镜Top

2 楼BlueBeer(1win)回复于 2004-09-04 05:24:36 得分 30

PaintPicture就可以啊  
   
  放一个commandbutton,加载一幅图片到一个picturebox  
   
  Private   Sub   Command1_Click()  
  Me.AutoRedraw   =   True  
  With   Picture1  
  .AutoSize   =   True  
  .Visible   =   False  
  Me.WindowState   =   2  
  Me.PaintPicture   .Picture,   .ScaleWidth,   .ScaleHeight,   -.ScaleWidth,   -.ScaleHeight  
  End   With  
  Command1.Visible   =   False  
  End   SubTop

3 楼BlueBeer(1win)回复于 2004-09-04 05:25:05 得分 0

 
  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  
  Top

4 楼laviewpbt(人一定要靠自己)回复于 2004-09-04 08:22:19 得分 30

Private   Sub   Command1_Click()  
  Picture1.AutoRedraw   =   True  
  Picture1.PaintPicture   Picture1,   Picture1.ScaleWidth,   0,   -Picture1.ScaleWidth,   Picture1.ScaleHeight  
  Picture1.Refresh  
  Picture1.Picture   =   Picture1.Image  
  End   Sub  
  Top

5 楼rainstormmaster(暴风雨 v2.0)回复于 2004-09-04 09:39:09 得分 0

用bitblt实现要快一些Top

6 楼xusang(阿桑)回复于 2004-09-04 23:44:25 得分 0

你这个是上下颠倒,不是我想要的效果,我说的是就好像看电影一样,一般人从屏幕正面看,现在我想从屏幕背后看,怎么实现这样的效果?Top

7 楼DemonLoveLizzy(^_^)!!! 用户中文昵称 ? 是什么东东 ? :)回复于 2004-09-05 00:10:41 得分 40

上边代码Picture1.PaintPicture   Picture1,   Picture1.ScaleWidth,   0,   -Picture1.ScaleWidth,   Picture1.ScaleHeight就是你的电影。Top

8 楼electricperi(双色心情)回复于 2004-09-05 22:24:56 得分 0

对,把值设成负的。Top

相关问题

  • 网页制作
  • 求网页制作报价
  • 网页制作者,请进!
  • 关于网页制作
  • 网页制作问题
  • 兼职 求网页制作
  • 招聘网页制作,美工
  • 一个网页制作问题
  • 请网页制作高手指点
  • 网页制作是青春饭吗?

关键词

  • 属性
  • 剪贴
  • 指示
  • 代码
  • 语法
  • picture
  • 参数
  • 省略
  • 可选
  • scalewidth

得分解答快速导航

  • 帖主:xusang
  • BlueBeer
  • laviewpbt
  • DemonLoveLizzy

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo