vb 中的scale(x,y)-scale(x1,y1) 在vb.net中如何表示

vb.net教程之数据类型
来源:未知
&一& Integer整型(相关)
内在分配(字节)
UInt16(无符号)
UInt32(无符号)
UInt64(无符号)
&二&&浮点数
浮点数也称实型数或实数,是带有小数部分的数值。它由三部分组成:符号、指数及尾数。单精度浮点数和双精度浮点数的指数分别用&E&(或&e&)和&D&(或&d&)来表示。
(1)Single单精度浮点型
这个类型用于存储单精度浮点型数字,占用4个字节,负数取值范围在-3.~-14.;正数取值范围在1.~3.40282E38之间。
(2)Double&双精度浮点型
&&&一般浮点数字都存储为Double双精度浮点型,可以保证很高的精度,是最常用的浮点型数字类型,占用8个字节,范围在-1.31E308~-1.32E308之间。
(3)Decimal十进制
&&&VB 6.0支持Currency(贷币)数据类型,Currency变量以整数格式存储64位数字,以10000为标度,将数字表示为定点数,其小数左边为15位,右边为4位。VB 6.0的Currency数据类型的精度不够,无法避免四舍五入的误差,因些在VB.NET引入了Decimal这种数据类型。VB.NET中将Currency数据类型转换为Decimal、Decimal变量存储带有符号(正负号)的96位整数。
&三&&字节&/&字符&/&字符串型
(1)Byte字节型
&&&这个类型的数据是从0~255的无符号整数,用来声明二进制的变量,但显示的值为十进制的。如果要声明的变量包含二进制数据,通常将其声明为Byte型的数。例如经常用到的颜色三组合红黄蓝即RGB三颜色分量。
(2)Char字符型
&&&这是VB.NET中的单字符数据类型,默认为字符是Unicode字符,占用2个字节。常常用来声明单字符的变量。如下:
&&&Dim charfirst&&As Char
&&&Charfirst=&A&&&&&&&&&&&&&声明一个Char类型的变量charfirst,并且赋给了一个值A,字符用双引号包括
(3)String字符串型
&&&使用下列语句来声明一个字符串变量:
&&&Dim strtext&&As&&String
&&&可以在上述语句的最后面加上*,再加上一个正整数来指定这个字符串变量的长度。如下:
&&&Dim&&strtext&&As&&String*20
&&&如果赋予字符串的长度超过了字符串的定长,那么Visual Basic.NET会自动截去超出的长度。
&四&&其它数据类型
(1)Boolean布尔型
&&&布尔型数据表示&真(True)&或&假(False)&这样的一种二值状态,简单的就是计算机中的0和1,当没有为该类型变量赋值时,初始值为Flase或0。VB.NET的布尔值实际上有3个,+/-1都是True,而0为Flase的值。
&&&一般情况应尽量使用True或Flase直接赋值或参与运算而不用+/-1或0代替。
&&&这种变量只占1个字节。
(2)Data日期型
&&&VB.NET中用Date型变量来保存日期信息。Data在内部存储为64位整数(注意这里的位指整数的位数而不是字节的位数)。如下:
&&&Dim dbdata1&&As&&Data
&&&Dbdata1=NOW ( )&&&&&&&&&&&&初始化dbdata1变量,得到当前日期。
(3)Object对象数据类型
&&&VB.NET用Object数据类型代替了VB 6.0的Variant变体数据类型。Object变量用作指向对象的指针。
&&&Object对象数据类型有几个特殊值。
&&&1、Error值:指出已发生的过程中的错误状态。
&&&2、DBNull值:空值,通常用于数据库应用程序,表示未知数据或丢失的数据。可以用ISBNull函数测试Object对象数据类型变量是否包含DBNull值。如下:
&&&If ISDBNull (x)&&and&&ISNull (y) then
&&&&&2=DBNull
&&&3、Nothing值:有时需要知道是否已将一个值赋予所创建的变量。在赋值之前,Object对象类型变量具有值Nothing(也是空值,但表示什么都没有)。值Nothing是不同于0,零长度字符(&&)或DBNull值的特定值。当式中使用它,将其作为0或零长度字符串来处理,这要根据表达式来定。只要将任何值包括0,零长度字符串或DBNull()赋予Object对象类型变量,Nothing值就会消失。而将关键字Nothing赋予Object对象类型变量,就可将object对象类型变量恢复为Nothing。
(4)枚举类型
在程序设计中,有些数据无法直接用整型数或浮点型数来表示,必须经过某种转换,把本来不是简单地用整数来表示的问题硬用几个整数去描述,因而降低了程序的可读性。为此,Visual Basic.NET提供了枚举数据类型。当一个变量只有向种可能的值时,可以定义为枚举类型。所谓&枚举&,是指将变量的值一一列举出来,变量的值只限于列举出来的值的范围内。
声明格式如下:
[Public | Private] Enum name [As Type]
&&membname1 [ = initexpr1 ]
&&membname2 [ = initexpr2 ]
&&membnamen [ = initexprn ]
参数说明如下:
1、Public:可选。表示所定义的Enum类型在整个项目中都是可见的,在默认情况下,Enum类型被定义为Public。
2、Private:可选。表示所定义的Enum类型只在声明的模块中是可见的。
3、Enum:声明该枚举类型的关键字。
4、name:所定义的Enum类型的名称,必须合乎VB.NET的命名规则,在定义Enum类型的变量或参数时用该名称来指定类型。
5、type:可选。用来声明枚举及其所有成员的数据类型,可以是Byte、Integer等。如果不指定type,则默认为Integer。
6、membname:枚举成员的名称。
7、initexpr:可选。为创建枚举成员时计算和分配给该成员的表达式,该表达式可以包含文本、已定义的常数,另一枚举成员或文本、常数和枚举成员的任何组合,但不能在这个表达式里使用变量或函数,只能适当使用一些强制类型转换函数。
下面给出一些声明枚举变量的实例:
1、在Enum语句的格式中&initexpr&可以省略。在默认情况下,枚举中的第一个常数被初始化为0,其后的常数则初始化为比其前面的常数大1的数值。如:
Public Enum Days
&&Wednesday
&&Thursday
&&Saturday
定义了一个枚举类型Days,它包括7个成员,都略了&initexpr&,因此常数Sunday的值为0,常数Monday的值为1,常数Tuesday的值为2,等等。
2、可以用赋值的语句显式地给枚举中的常数赋值,即不省略&initexpr&。所赋值可以是任何长整数,包括负数。如果希望用于小于0的常数代表出错条件,则可以给枚举常数赋一个负值。如:
Public Enum WorkDsys
&&Saturday
&&Sunday=0
&&Invalid=-1
在上面的枚举中,常数Invalid显式地赋值-1,而常数Sunday被赋值0。因为Saturday是枚举中的第一个元素,所以也被赋值0。Monday的数值为1(比Sunday的数值大1),Tuesday的数值为2等等。
3、Visual Basic.NET将枚举中的常数数值看作整数。如果将一个浮点数值赋给一个枚举中的常数,Visual Basic.NET会将该数值取整为最接近的整数。
4、当对一个枚举中的常数赋值时,可以使用另一个枚举中的数值。
Public Enum WorkDays
&&Sunday=0
&&Wednesday
&&Thursday
&&Saturday=Days.Sturday-6
&&Invalid=-1
这里的Days枚举的声明与前面的声明等同。
&&&注意:Enum语句只能在模块、命名空间或文件级出现。这就是说可以在源文件中或者在模块、类或结构内部声明枚举,但不能在过程内部进行声明。在定义Enum类型之后,就可以将其用于声明变量类型,过程参数和Function返回值。
-----------图像裁剪图像大小调整使用VB.NET_普通图形技术_多媒体_或代码
| 文章 >> 多媒体 >> 普通图形技术
图像裁剪图像大小调整使用VB.NET
{S0}简介本文讨论简单的图像,图像大小调整使用VB.NET开发种植。背景我不知道从前一个有关图像剪裁的时间。我的经验教训和了解,有很多简单的图像比目前可用的其他种植技术,种植技术,提供。使用代码
本文讨论了使用VB.NET的简单的图像剪裁。在这篇文章中,我将讨论简单的图像剪裁,使用常见的事件,如鼠标移动,鼠标按下,鼠标向上按钮的Click事件。我想讨论图像裁剪,只使用五个步骤。你只需要遵循以下步骤。的步骤如下所列:加载图像裁剪图像
捕获图像调整图像的大小(如果需要)保存图像在我们开始创建之前,我们需要2图片框控件(PreviewPictureBox,crobPictureBox),3个按钮(保存,取消,打开),1的TrackBar(resizingTrackBar)和一些唱片公司。嘿,这好像烹饪规格。的步骤简要说明如下:1。加载图像图像可以加载使用文件打开对话框的图片框,并显示位图显示方法,即意味着:openDlg.ShowDialog()
PreviewPictureBox.Image = System.Drawing.Bitmap.FromFile(openDlg.FileName)
crobPictureBox.Image = System.Drawing.Bitmap.FromFile(openDlg.FileName)
这可以做到无论在形式负载或按一下按钮事件。2。裁剪图像图像可以从图片框作物使用鼠标移动和鼠标按下事件。这是有可能得到X和Y轴使用上述事件,即:{C}你可以看到我申请,指定由DashStyle.DashDotDot选定区域的样式。 crobPictureBox.CreateGraphics.DrawRectangle(cropPen,cropX,cropY,cropWidth,cropHeight)。3。捕获图像图像被捕获,只使用了鼠标事件和裁剪图像设置为Bitmap类,这使得图像和设置创建的图像预览,即:Dim bit As Bitmap = New Bitmap(crobPictureBox.Image, _
crobPictureBox.Width, crobPictureBox.Height)
g.DrawImage(bit, 0, 0, rect, GraphicsUnit.Pixel)
PreviewPictureBox.Image = cropBitmap
4。调整图像的大小如果你想调整图片的大小,你可以使用的TrackBar调整图像的大小。我规定使用一个高品质的图像调整大小,裁剪和调整大小的图像质量。scale_factor = Integer.Parse(resizingTrackBar.Value)
img1.Image = cropBitmap
bm_source = New
Bitmap(img1.Image)
bm_dest = New Bitmap( _
CInt(bm_source.Width * scale_factor), _
Int(bm_source.Height * scale_factor))
Dim gr_dest As Graphics = Graphics.FromImage(bm_dest)
gr_dest.DrawImage(bm_source, 0, 0, bm_dest.Width + i, bm_dest.Height + i)
PreviewPictureBox.Image = bm_dest
5。保存图像裁剪图像可能是低质量,导致图像失真。我想尽自己的水平最好,以优良的品质,使形象。我用Smoothi​​ngMode,CompositingQuality,InterpolationMode和EncoderParameter(myEncoder 60L)属性,以使图像。兴趣点 I上述步骤和编码方法,你会发现简单。这是我的意思做。所有编码应该使用简单的技术在一个复杂的问题,优化的方式。历史六月十七日,二零零八年:战后初期
关于作者:
中国我是一名编程爱好者,谢谢为我们提供一个学习和分享的平台。有什么问题。可以就本内容回复,我看到时。会尽量回复的。
评论会员:
时间:您好先生尼斯演示...我有一个疑问爵士PLS清除此..如何打开在Photoshop中的图像,使用vb.net?
请清除我的疑问...我的电子邮件: ...手机=
..其迫切先生,请帮我.. 评论会员:
时间:好文章评论会员:
时间:致谢评论会员:
时间:主席先生,我不找到previev PreviewPictureBox,crobPictureBox ... PLS告诉我在哪里找到它.. 评论会员:
时间:很不错的文章和编程是优秀的评论会员:
时间:我】Manoj ... ...我很不错的文章... 评论会员:
时间:这是有关图像剪裁的好文章评论会员:
时间:您好,这是不错的文章,但也有一些在种植问题。如果我拖动一个大面积的图像,然后结果是从绘制矩形面积和产量差异评论会员:
时间:喜先生Senthis小号,
如何作物聚形状的图像,并保存该图像?
如果您有任何源代码PLZ mail给我..我的邮件ID:@yahoo.co.in 评论会员:
时间:您好先生,
我创建的文本图像转换,我需要的形象十六进制格式??我BEZ要在十六进制格式发送的串行端口。请帮助我....
你, 卡纳安 -------------------------------------------------- ---------------{ BR}"成功是乌尔签名时签名"
邮件至: 评论会员:
时间:创建的例子是非常糟糕评论会员:
时间:请可以帮助别人告诉我我如何能标记图像的不同部分,我随之而来,确定裁剪的一部分?感谢评论会员:
时间:inzamamkhan:|如果你想比U的形象标记的不同部分可以访问此链接{A}]伟大的工作,可以试试这个链接,谢谢U.imgsrc=/upimg/_10_09_43_1.gif hdogan评论会员:
时间:亲爱的主席先生,你有相同的代码在C#asp.net2008吗?如果你送我的C#代码"图像裁剪图像大小调整",我会很高兴。非常感谢你。此致HDOGAN Senthil小号评论会员:
时间:您好,让我的代码,并在"文件"菜单,在VS2008中使用转换器。它会自动将其转换为VS2008的。有愉快的一天......Senthil.S一个软件工程师巴蒂尔斯图尔特评论会员:
时间:原代码需要裁剪矩形框的左上角开始。下面的代码修正这个限制。代码保持在CropX和CropY变量的起始坐标的轨道。我添加了绝对的基础上结束坐标的宽度和高度。我把我大胆的变化。codeprespanclass="code-keyword"Private/spanspanclass="code-keyword"Sub/spancrobPictureBox_MouseMove(spanclass="code-keyword"ByVal/spansenderspanclass="code-keyword"As/spanspanclass="code-keyword"Object/span,spanclass="code-keyword"ByVal/spanespanclass="code-keyword"As/spanSystem.Windows.Forms.MouseEventArgs)spanclass="code-keyword"Handles/spancrobPictureBox.MouseMovespanclass="code-keyword"Try/span&spanclass="code-keyword"If/spancrobPictureBox.Imagespanclass="code-keyword"Is/spanspanclass="code-keyword"Nothing/spanspanclass="code-keyword"Then/spanspanclass="code-keyword"Exit/spanspanclass="code-keyword"Sub/span&spanclass="code-keyword"If/spane.Button=Windows.Forms.MouseButtons.Leftspanclass="code-keyword"Then/spanbspanclass="code-keyword"Dim/spanl_Xspanclass="code-keyword"As/spanspanclass="code-keyword"Integer/span=e.Xspanclass="code-keyword"Dim/spanl_Yspanclass="code-keyword"As/spanspanclass="code-keyword"Integer/span=e.Y/bcrobPictureBox.Refresh()bcropWidth=Math.Abs(l_X-cropX)cropHeight=Math.Abs(l_Y-cropY)spanclass="code-keyword"If/spancropX&l_Xspanclass="code-keyword"Then/spanl_X=cropXspanclass="code-keyword"If/spancropY&l_Yspanclass="code-keyword"Then/spanl_Y=cropYcrobPictureBox.CreateGraphics.DrawRectangle(cropPen,l_X,l_Y,cropWidth,cropHeight)/bspanclass="code-comment"'/spanspanclass="code-comment"crobPictureBox.CreateGraphics.DrawRectangle(cropPen,cropX,cropY,cropWidth,cropHeight)/spanspanclass="code-keyword"End/spanspanclass="code-keyword"If/spanspanclass="code-comment"'/spanspanclass="code-comment"GC.Collect()/spanspanclass="code-keyword"Catch/spanexcspanclass="code-keyword"As/spanException&spanclass="code-keyword"If/spanErr.Number=spanclass="code-digit"5/spanspanclass="code-keyword"Then/spanspanclass="code-keyword"Exit/spanspanclass="code-keyword"Sub/spanspanclass="code-keyword"End/spanspanclass="code-keyword"Try/span&spanclass="code-keyword"End/spanspanclass="code-keyword"Sub/span/pre/code当你放开鼠标的时相比,截至坐标的起始坐标。如果坐标(S)较小,相应的修改出发矩形codeprespanclass="code-keyword"Private/spanspanclass="code-keyword"Sub/spancrobPictureBox_MouseUp(spanclass="code-keyword"ByVal/spansenderspanclass="code-keyword"As/spanspanclass="code-keyword"Object/span,spanclass="code-keyword"ByVal/spanespanclass="code-keyword"As/spanSystem.Windows.Forms.MouseEventArgs)spanclass="code-keyword"Handles/spancrobPictureBox.MouseUpspanclass="code-keyword"Try/spanCursor=Cursors.spanclass="code-keyword"Default/spanspanclass="code-keyword"Try/spanbspanclass="code-keyword"If/spane.Button=Windows.Forms.MouseButtons.Leftspanclass="code-keyword"Then/spanspanclass="code-keyword"If/spancropWidth&spanclass="code-digit"1/spanspanclass="code-keyword"Then/spanspanclass="code-keyword"Exit/spanspanclass="code-keyword"Sub/spanspanclass="code-keyword"Dim/spanl_Xspanclass="code-keyword"As/spanspanclass="code-keyword"Integer/span=e.Xspanclass="code-keyword"Dim/spanl_Yspanclass="code-keyword"As/spanspanclass="code-keyword"Integer/span=e.Yspanclass="code-keyword"If/spancropX&l_Xspanclass="code-keyword"Then/spanl_X=cropXspanclass="code-keyword"If/spancropY&l_Yspanclass="code-keyword"Then/spanl_Y=cropY&spanclass="code-keyword"Dim/spanrectspanclass="code-keyword"As/spanRectangle=spanclass="code-keyword"New/spanRectangle(l_X,l_Y,cropWidth,cropHeight)/bspanclass="code-comment"'/spanspanclass="code-comment"DimrectAsRectangle=NewRectangle(cropX,cropY,cropWidth,cropHeight)/spanspanclass="code-keyword"Dim/spanbitspanclass="code-keyword"As/spanBitmap=spanclass="code-keyword"New/spanBitmap(crobPictureBox.Image,crobPictureBox.Width,crobPictureBox.Height)&cropBitmap=spanclass="code-keyword"New/spanBitmap(cropWidth,cropHeight)spanclass="code-keyword"Dim/spangspanclass="code-keyword"As/spanGraphics=Graphics.FromImage(cropBitmap)g.InterpolationMode=Drawing2D.InterpolationMode.HighQualityBicubicg.PixelOffsetMode=Drawing2D.positingQuality.HighQualityg.DrawImage(bit,spanclass="code-digit"0/span,spanclass="code-digit"0/span,rect,GraphicsUnit.Pixel)PreviewPictureBox.Image=cropBitmapbspanclass="code-keyword"End/spanspanclass="code-keyword"If/span/bspanclass="code-keyword"Catch/spanexcspanclass="code-keyword"As/spanExceptionspanclass="code-keyword"End/spanspanclass="code-keyword"Try/spanspanclass="code-keyword"Catch/spanexcspanclass="code-keyword"As/spanExceptionspanclass="code-keyword"End/spanspanclass="code-keyword"Try/spanspanclass="code-keyword"End/spanspanclass="code-keyword"Sub/span/pre/code TylerRowsell评论会员:
时间:我真的很喜欢这一点,但...有没有办法使平方米一定比例,所以,如果我拉3下来,进入6权利或6右三下来......bassically什么都可以裁剪它总是适合预览框 niketrk评论会员:
时间:我见过这样一个控制在/downloads.htm是它不是免费的工具。但它得到了许多相关的功能控制图像作物。因为它的ActiveX(网络控制。)的形式;它是易于使用。这是唯一的控制,我能找到的长宽比特征是有。我希望这是对你有用。Demaker 评论会员:
&桌面&网页开发&移动开发&数据库&多媒体&编程语言&平台,框架和库&编程通用&图形/设计&开发周期&一般阅读&第三方产品&作者资源&其他
快速解答标签
价值作最多当前位置: >
> VB技巧:VB.NET中的变量范围差异VB技巧:VB.NET中的变量范围差异更新:&&&&编辑:怀卉&&&&来源:哥乖整理&&&&人气:加载中...&&&&字号:|标签:&&&&&&&&&&&&
VB:中定义所适用的在中和在VB 6中是不同的。在VB 6中,一个任意位置定义的变量都可以在整个程序中使用。而在VB.NET中,那些在子程序中定义的变量就只能在该子程序中使用(子程序就是包含在If...End If,For...Next,Select Case...End Select,Do...Loop等这些语句内部的代码。)。这个使你可以写出更加模式化更加灵活的代码,同时也可以防止变量被本应在它们适用范围以外的程序调用。但这个改变有一个缺陷,那就是每个变量在整个程序中都会保持它的值不变。也就是说当一个变量已经超出了它的适用范围时,,它的值仍然保存在内存里。而你如果在该程序中再次进入同一个子程序,那么这个变量先前保存在内存里的值将有可能导致潜在的错误。举个例子。请看下面的代码:Dim x As Integer = 1Dim holdY As IntegerDo While (x & 5)If (x Mod 2 = 0) ThenDim y As Integery += 1holdY = yEnd Ifx += 1LoopMsgBox(x)MsgBox(holdY) 上面这段代码运行以后,x的值是5,holdY的值是3。而y的值的范围局限在整个Do...Loop过程中。在定义变量时对变量进行初始化是一个直接的办法,它可以避免任何潜在的,并且可以确保每次使用该变量时它的值都是已知数。If (x Mod 2 = 0) ThenDim y As Integer = 0y += 1 另一个好处就是,在定义中对变量初始化可以使代码更具可读性。
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
分类选择您可能在找这些帮设计师节省1,085,543,232小时

我要回帖

更多关于 y y1 m x x1 的文章

 

随机推荐