首页 >> 读书频道 >> 电脑 >> 图形放大/修改後的存档
 
· 例1:取得目前所有的输入
· 自行绘图的存档/非Bit
· 在vb中叫出控制台Ite
· 使用快捷键所隐含的问题
· 透过Word97印表格
· 动态改变Data-awa
· 取得.Bas 中Func
· VB编程技巧几例
· 如何取得Double值各
· 在VB中使用枚举变量
· 将阿拉伯数字转成中文字的
· 字串中文的问题
 
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

图形放大/修改後的存档


查看有无更新版本

关键字:VB 2006-9-18

 

VB中图存档使用 SavePicture 指令,而它的叁数是
   picture       产生图形档案的 PictureBox 控制项或 Image 控制项。
   stringexpression   储存的图形档案名称

而我的作法是:在PictureBox的Image属性上作动作,因为PictureBox上的Picture经设
定後,它就固定下来,我们在其上的绘图等动作,基本上没有动到Picture属性所指的图
,而想改变到图,就只能从Image上着手。所以了,一定得设定PictureBox的AutoRedraw
为True,这才会使绘图的动作在Image上发生,最後再使用SavePicture的指令,传Image
当第一个叁数来存档。这里有另一个重要的问题,如果PictureBox的大小是100*100,
而实际进来的图是50*50,那麽,PictureBox.Image其大小范围仍是100*100,因而我一开
始设定PictureBox的长宽各为1,等後来图放大後,PictureBox Image的大小也随之变大。
也正因我们使用的是PictureBox的Image物件,所以存档的结果只能是Bitmap图,这点要
特别注意。

'需一个PictureBox, 一个Command buttonOption ExplicitDim pic As New StdPicturePrivate Sub Command1_Click()Set pic = LoadPicture("e:\girl.bmp") '请输入想放大/缩小的图Call setScope(pic, 0.5, 0.5, Picture1) '缩小0.5倍,将之放入Picture1SavePicture Picture1.Image, "e:\t2.bmp" '存档Picture1.Visible = TrueEnd SubPrivate Sub Form_Load()Me.ScaleMode = 3Picture1.AutoRedraw = TruePicture1.ScaleMode = 3Picture1.BorderStyle = 0Picture1.Visible = FalsePicture1.Width = 1 '设定PictureBox为最小Picture1.Height = 1End SubPrivate Sub setScope(pic As StdPicture, ByVal xRate As Double, _ ByVal yRate As Double, pic2 As PictureBox) Dim dstWidth As Long, dstHeight As Long Dim srcWidth As Long, srcHeight As Long Dim x As Long, y As Long Dim i As Long srcHeight = pic2.ScaleY(pic.Height, vbHimetric, vbPixels) srcWidth = pic2.ScaleX(pic.Width, vbHimetric, vbPixels) dstHeight = CLng(srcHeight * yRate) If dstHeight < 0 Then y = -1 * dstHeight Else y = 0 End If dstWidth = CLng(srcWidth * xRate) If dstWidth < 0 Then x = -1 * dstWidth Else x = 0 End If pic2.Width = Abs(dstWidth) '改变PictureBox的大小 pic2.Height = Abs(dstHeight) pic2.PaintPicture pic, x, y, dstWidth, dstHeight, 0, 0, srcWidth, srcHeightEnd Sub 

图形放大/修改後的存档

[ 1 ]
图形放大/修改後的存档 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑