VB2010版中怎么用用OLE控件连接CAD软件,显示CAD图形?会的给段代码vb2010(vb.net)貌似已经没有OLE控件
下面的代码是用PictureBox控件显示CAD的DWG文件
Private Structure BITMAPFILEHEADER
Dim bfType As Short
Dim bfSize As Integer
Dim bfReserved1 As Short
Dim bfReserved2 As Short
Dim bfOffBits As Integer
End Structure
Public Function GetDwgImage(ByVal FileName As String) As Image
If Not File.Exists(FileName) Then Exit Function
Dim DwgF As FileStream'文件流
Dim PosSentinel As Integer'文件描述块的位置
Dim br As BinaryReader'读取二进制文件
Dim TypePreview As Integer '缩略图格式
Dim PosBMP As Integer '缩略图位置
Dim LenBMP As Integer '缩略图大小
Dim biBitCount As Short '缩略图比特深度
Dim biH As BITMAPFILEHEADER 'BMP文件头,DWG文件中不包含位图文件头,要自行加上去
Dim BMPInfo() As Byte'包含在DWG文件中的BMP文件体
Dim BMPF As New MemoryStream'保存位图的内存文件流
Dim bmpr As New BinaryWriter(BMPF) '写二进制文件类
Dim myImg As Image
Try
DwgF = New FileStream(FileName, FileMode.Open, FileAccess.Read)'文件流
br = New BinaryReader(DwgF)
DwgF.Seek(13, SeekOrigin.Begin) '从第十三字节开始读取
PosSentinel = br.ReadInt32 '第13到17字节指示缩略图描述块的位置
DwgF.Seek(PosSentinel30, SeekOrigin.Begin) '将指针移到缩略图描述块的第31字节
TypePreview = br.ReadByte '第31字节为缩略图格式信息,2 为BMP格式 , 3为WMF格式
Select Case TypePreview
Case 1
Case 2, 3
PosBMP = br.ReadInt32 'DWG文件保存的位图所在位置
LenBMP = br.ReadInt32 '位图的大小
DwgF.Seek(PosBMP14, SeekOrigin.Begin) '移动指针到位图块
biBitCount = br.ReadInt16 '读取比特深度
DwgF.Seek(PosBMP, SeekOrigin.Begin) '从位图块开始处读取全部位图内容备用
BMPInfo = br.ReadBytes(LenBMP)'不包含文件头的位图信息
br.Close()
DwgF.Close()
With biH'建立位图文件头
.bfType = H4D42
If biBitCount9 Then .bfSize = 544 * (2 ^ biBitCount)LenBMP Else .bfSize = 54LenBMP
.bfReserved1 = 0 '保留字节
.bfReserved2 = 0 '保留字节
.bfOffBits = 14H281024 '图像数据偏移
End With
'以下开始写入位图文件头
bmpr.Write(biH.bfType) '文件类型
bmpr.Write(biH.bfSize) '文件大小
bmpr.Write(biH.bfReserved1) '0
bmpr.Write(biH.bfReserved2) '0
bmpr.Write(biH.bfOffBits) '图像数据偏移
bmpr.Write(BMPInfo) '写入位图
BMPF.Seek(0, SeekOrigin.Begin) '指针移到文件开始处
myImg = Image.FromStream(BMPF) '创建位图文件对象
Return myImg
bmpr.Close()
BMPF.Close()
End Select
Catch ex As Exception
Return Nothing
End Try
End Function
vb.net中怎么实现图片缩小和放大Pegasus的ImagXpress 8.0控件,支持各种格式文件的加载 。控件封装了右键局部区域放大的功能,要实现图片的缩放,把AutoResize属性设置为PegasusImaging.WinForms.ImagXpress8.AutoResizeType.CropImage , 修改 ZoomFactor的值就可以了 。
在VB.NET下面如何显示和保存缩放图像实现代码如下:
Dim img As Image = Image.FromFile("D:\Image\tstImage.jpg")'tstImage是原先的图片
Dim grfx As Graphics = Me.CreateGraphics
grfx.DrawImage(img, 0, 0, img.Width * 3, img.Height * 3)'在Form里显示
Dim imgnew As New System.Drawing.Bitmap(img, img.Height * 3, img.Width * 3)'新建一个放大的图片
imgnew.Save("D:\Image\tstNewImage.jpg", System.Drawing.Imaging.ImageFormat.Jpeg)'保存放大后图片
你可以建一个Form,然后在Form里拖进一个Button,把上面的代码放在Button_Click事件里面,执行就行了 。
对上面代码的解释:
1.要获取Graphics对象只能从某一事件的参数中获取或者使用窗体和控件对象的CreateGraphics方法来获取-----上面代码使用Me.CreateGraphics来引用这个对象 。
2.加载一个图片用Image类的FromFile或者FromStream方法
3.用DrawImage来显示一个图片,该方法有30多个重载方法,可以查MSDN了解细节 。
4.保存时的一个问题:我们必须先建一个对象,用于存缩放图像 。
asp.net如何实现 图片压缩(vb.net)'''''''''''''''tosmallimg.aspx''
%@ Page Language="VB" AutoEventWireup="false" CodeFile="tosmallpic.aspx.vb" Inherits="tosmallpic" %
%@ OutputCache Duration="86400" VaryByParam="*" %
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""
html xmlns=""
head runat="server"
title无标题页/title
/head
body
form id="form1" runat="server"
div
/div
/form
/body
/html
'''''''''''''''tosmallimg.aspx.vb''
Imports System.Drawing, System.Drawing.Imaging, System.Drawing.Drawing2D
Partial Class tosmallpic
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim width As Int16 = CInt(My.Request.QueryString("width"))
Dim height As Int16 = CInt(My.Request.QueryString("height"))
Dim url As String = My.Request.QueryString("url")
If Not System.IO.File.Exists(Server.MapPath(url)) Then
Response.Redirect("img/default.jpg")
Response.End()
End If
Dim img As Image = Image.FromFile(Server.MapPath(url))
【包含vb.net显示缩略图的词条】If width = 0 And height0 Then
width = height * img.Width / img.Height
ElseIf height = 0 Then
height = width * img.Height / img.Width
End If
If widthimg.Width Then Response.Redirect(url)
Dim bmp As New Bitmap(width, height)
Dim gr As Graphics = Graphics.FromImage(bmp)
gr.Clear(Color.Transparent)
'gr.SmoothingMode = SmoothingMode.AntiAlias
Dim rct As New Rectangle(0, 0, width, height)
gr.DrawImage(img, New Rectangle(0, 0, width, height), New Rectangle(0, 0, img.Width, img.Height), GraphicsUnit.Pixel)
Response.Clear()
Response.ContentType = "image/jpeg"
bmp.Save(Response.OutputStream, ImageFormat.Jpeg)
End Sub
End Class
介绍下vb.net显示缩略图我vb.net显示缩略图的blog
vb.net中,如何像下图一样 , 用很简单的办法,导入1000张图片 。很简单的方法,貌似没有 。这个需要自己写很多代码:
用一个ListView控件 。
判断滚动条当前所显示的图片集合 , 获取它们的物理路径 。
用Bitmap.FromImage方法把这些图片读出来,
然后获取缩略图,
把缩略图用Graphics.DrawImage()绘制出来 。
我可以提供Bitmap如何获取缩略图的方法:
''' summary必须创建一个委托并将对此委托的引用作为获取缩略图 callback 参数传递,但不使用此委托 。/summary
Public Function ThumbnailCallback() As Boolean
Return False
End Function
''' summary返回Image,表示图像指定 宽 和 高 的缩略图 。/summary
Public Function 获取缩略图(位图 As Bitmap, 宽 As Integer, 高 As Integer) As Image
Dim myCallback As New Image.GetThumbnailImageAbort(ThumbnailCallback)
Return 位图.GetThumbnailImage(宽, 高, myCallback, IntPtr.Zero)
End Function
asp.net(vb)创建缩略图你可以在VB中先生成:
用两个图片框:
第一个用于加载原始图片(AutoSize属性设置为True)
第二个用于生成缩略图的,大小调整成你的缩略图的大小(设置AutoRedraw属性为True)
用如下方法,可以生成缩略图(不过是bmp格式的,如果你要用别的格式,可以用工具批量转换一下
Private
Sub
Command1_Click()
Picture2.PaintPicture
Picture1.Picture,
0,
0,
Picture2.ScaleWidth,
Picture2.ScaleHeight
SavePicture
Picture2.Image,
"C:\a.bmp"
End
Sub
vb.net显示缩略图的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于、vb.net显示缩略图的信息别忘了在本站进行查找喔 。
推荐阅读
- htmlr如何调用js的简单介绍
- 如何卸载电商助手,电商助手app
- 如何提现虎牙直播打赏,如何提现虎牙直播打赏的钱
- linux重启显卡命令 linux装显卡驱动重启无图形
- 辽宁移动5g助手安卓能用吗,辽宁移动5g覆盖范围查询
- pg数据库怎么样,pg数据库菜鸟教程
- 视频号是否可以直播,视频号可直播吗
- linux命令大全壁纸 linux基本命令手册
- gis等高线绘画,gis等高线图