CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

怎么缩放图片?把图片放大,或缩小?散分!!!!!!!

楼主spruce(风中的云)2002-10-23 10:23:57 在 VB / 基础类 提问

怎么缩放图片?把图片放大,或缩小?散分!!!!!!!  
  1.图片可用控件Image或Picture.  
  2.请给出代码示例.  
  问题点数:100、回复次数:11Top

1 楼LowBird(我是大菜鸟)回复于 2002-10-23 11:14:03 得分 5

用oleTop

2 楼ukyoyj(彭勇)回复于 2002-10-23 11:16:55 得分 5

image里面有放大缩小的方法呀!Top

3 楼sureli()回复于 2002-10-23 11:51:02 得分 5

1.picturebox.paintpicture  
  2.image.stretch=trueTop

4 楼towndream(努力学习)回复于 2002-10-23 12:07:50 得分 5

image   和   picturebox   都有   stretch   方法  
  另外可以用   paintpicture   方法设置Top

5 楼dsclub(任搏软)回复于 2002-10-23 12:13:56 得分 5

用StretchBlt吧  
   
  Top

6 楼sgx(sgx)回复于 2002-10-23 12:21:38 得分 5

从   pic2   复制图片到   pic1  
   
  StretchBlt   pic1.hdc,   0,   0,   width   ,   height,   pic2.hdc,   0,   0,   pic2width,pic2height,   SRCCOPY  
   
  width   ---   放大/缩小后的宽度  
  height----放大/缩小后的高度  
  pic2width   ,   pic2height   原图的宽度和高度Top

7 楼honlin(要节约用水,尽量和女友一起洗澡)回复于 2002-10-23 12:22:51 得分 0

upTop

8 楼123qqq()回复于 2002-10-23 12:32:09 得分 0

upTop

9 楼purpleclouds(不懂装懂)回复于 2002-10-23 12:33:50 得分 10

Dim   pic   As   StdPicture  
   
  Private   Sub   Form_Load()  
          Set   pic   =   LoadPicture("C:\Documents   and   Settings\Administrator\My   Documents\My   Pictures\mm.bmp")  
  End   Sub  
   
  Private   Sub   Form_Paint()  
          Me.PaintPicture   pic,   0,   0,   Me.Width,   Me.Height  
  End   Sub  
   
  Private   Sub   Form_Resize()  
          Form_Paint  
  End   SubTop

10 楼zyl910(编程的乐趣在于编程控制硬件,与用图形学实现绚丽效果)回复于 2002-10-23 13:03:49 得分 50

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

11 楼MarGo(潇洒)回复于 2002-10-23 13:45:42 得分 10

用IMGEDIT控件(增加柯达控件)  
  Private   Sub   imgedit1_KeyDown(KeyCode   As   Integer,   Shift   As   Integer)  
  Select   Case   KeyCode   '定义功能键,+,-用以缩放图像  
  Case   vbKeyAdd  
  ImgEdit1.Zoom   =   ImgEdit1.Zoom   *   1.2  
  Case   vbKeySubtract  
  ImgEdit1.Zoom   =   ImgEdit1.Zoom   /   1.2  
  End   Select  
  ImgEdit1.Refresh  
  End   Sub  
   
  Private   Sub   Form_Resize()  
  ImgEdit1.Top   =   600  
  ImgEdit1.Left   =   0  
  ImgEdit1.Height   =   frmShowPic.ScaleHeight   -   1000  
  ImgEdit1.Width   =   frmShowPic.ScaleWidth  
  End   Sub  
   
  Private   Sub   Form_Load()  
  ImgEdit1.Image   =   "C:\WINNT\Coffee   Bean.bmp"  
  ImgEdit1.ImagePalette   =   3  
  ImgEdit1.Display  
  End   Sub  
  Top

相关问题

  • 图片放大缩小问题?
  • 高分-图片放大缩小
  • 如何在图象框里放大,缩小图片。
  • 怎样让图片放大、缩小后还能够清晰?
  • 用程序怎么控制图片放大缩小的?
  • 怎样实现图片的缩小与放大
  • 请问如何放大缩小一张jpeg的图片?
  • 如何实现图片的局部放大和缩小
  • 如何把图片按原比例缩小或放大显示?
  • 如何实现图片的放大缩小平移操作?

关键词

  • 属性
  • 控件
  • 剪贴
  • 指示
  • imgedit
  • 参数
  • pic
  • 省略
  • 可选
  • 宽度

得分解答快速导航

  • 帖主:spruce
  • LowBird
  • ukyoyj
  • sureli
  • towndream
  • dsclub
  • sgx
  • purpleclouds
  • zyl910
  • MarGo

相关链接

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

广告也精彩

反馈

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