當前位置: 首頁>>代碼示例>>VB.NET>>正文


VB.NET Metafile類代碼示例

本文整理匯總了VB.NET中System.Drawing.Imaging.Metafile的典型用法代碼示例。如果您正苦於以下問題:VB.NET Metafile類的具體用法?VB.NET Metafile怎麽用?VB.NET Metafile使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Metafile類的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的VB.NET代碼示例。

示例1: Form1

' 導入命名空間
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Windows.Forms
' for Marshal.Copy
Imports System.Runtime.InteropServices


Public Class Form1
    Inherits Form
    Private metafile1 As Metafile
    Private metafileDelegate As Graphics.EnumerateMetafileProc
    Private destPoint As Point
    
    Public Sub New() 
        metafile1 = New Metafile("C:\test.wmf")
        metafileDelegate = New Graphics.EnumerateMetafileProc(AddressOf MetafileCallback)
        destPoint = New Point(20, 10)
    
    End Sub
    
    Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) 
        e.Graphics.EnumerateMetafile(metafile1, destPoint, metafileDelegate)
    
    End Sub
    
    Private Function MetafileCallback(ByVal recordType As _
        EmfPlusRecordType, ByVal flags As Integer, ByVal dataSize As Integer, _
        ByVal data As IntPtr, ByVal callbackData As PlayRecordCallback) As Boolean

        Dim dataArray As Byte() = Nothing
        If data <> IntPtr.Zero Then

            ' Copy the unmanaged record to a managed byte buffer 
            ' that can be used by PlayRecord.
            dataArray = New Byte(dataSize) {}
            Marshal.Copy(data, dataArray, 0, dataSize)
        End If

        metafile1.PlayRecord(recordType, flags, dataSize, dataArray)
        Return True

    End Function
    
    Shared Sub Main() 
        Application.Run(New Form1())
    End Sub

End Class
開發者ID:VB.NET開發者,項目名稱:System.Drawing.Imaging,代碼行數:49,代碼來源:Metafile

示例2: New Metafile

' 導入命名空間
Imports System.Drawing.Imaging
Imports System.Drawing
Imports System.Drawing.Drawing2D
Imports System.Windows.Forms
Imports System.Math

public class WMFFileCreate
   public Shared Sub Main
        Application.Run(New Form1)
   End Sub
End class



Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Const WID As Integer = 200
        Dim file_name As String = "test.wmf"

        Dim me_gr As Graphics = Me.CreateGraphics
        Dim me_hdc As IntPtr = me_gr.GetHdc

        Dim bounds As New RectangleF(0, 0, WID, WID)
        Dim mf As New Metafile(file_name, me_hdc, bounds, MetafileFrameUnit.Pixel)
        me_gr.ReleaseHdc(me_hdc)

        Dim gr As Graphics = Graphics.FromImage(mf)
        gr.PageUnit = GraphicsUnit.Pixel
        gr.Clear(Color.White)
        gr.DrawEllipse(Pens.Red, bounds)
        gr.DrawLine(Pens.Blue, 0, 0, WID, WID)
        gr.DrawLine(Pens.Blue, WID, 0, 0, WID)

        gr.Dispose()
        mf.Dispose()

        mf = New Metafile(file_name)
        Dim bm As New Bitmap(WID, WID)
        gr = Graphics.FromImage(bm)
        Dim dest_bounds As New RectangleF(0, 0, WID, WID)
        Dim source_bounds As New RectangleF(0, 0, WID + 1, WID + 1)
        gr.DrawImage(mf, bounds, source_bounds, GraphicsUnit.Pixel)
        picOrig.SizeMode = PictureBoxSizeMode.AutoSize
        picOrig.Image = bm
        gr.Dispose()
        mf.Dispose()

        mf = New Metafile(file_name)
        picSmall.SetBounds(picOrig.Right + 10, picOrig.Top,picOrig.Width \ 2, picOrig.Height \ 2)
        bm = New Bitmap(picSmall.ClientSize.Width,picSmall.ClientSize.Height)
        gr = Graphics.FromImage(bm)
        gr.ScaleTransform(0.5, 0.5)
        gr.DrawImage(mf, bounds, source_bounds, GraphicsUnit.Pixel)
        picSmall.Image = bm
        gr.Dispose()
        mf.Dispose()
    End Sub
End Class
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Partial Public Class Form1
    Inherits System.Windows.Forms.Form

    'Form overrides dispose to clean up the component list.
    <System.Diagnostics.DebuggerNonUserCode()> _
    Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing AndAlso components IsNot Nothing Then
            components.Dispose()
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    <System.Diagnostics.DebuggerStepThrough()> _
    Private Sub InitializeComponent()
        Me.picSmall = New System.Windows.Forms.PictureBox
        Me.picOrig = New System.Windows.Forms.PictureBox
        CType(Me.picSmall, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.picOrig, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        'picSmall
        '
        Me.picSmall.Location = New System.Drawing.Point(64, 8)
        Me.picSmall.Name = "picSmall"
        Me.picSmall.Size = New System.Drawing.Size(32, 24)
        Me.picSmall.TabIndex = 3
        Me.picSmall.TabStop = False
        '
        'picOrig
        '
        Me.picOrig.Location = New System.Drawing.Point(8, 8)
        Me.picOrig.Name = "picOrig"
        Me.picOrig.Size = New System.Drawing.Size(48, 56)
        Me.picOrig.TabIndex = 2
        Me.picOrig.TabStop = False
        '
        'Form1
        '
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
        Me.ClientSize = New System.Drawing.Size(326, 215)
        Me.Controls.Add(Me.picSmall)
        Me.Controls.Add(Me.picOrig)
        Me.Name = "Form1"
        Me.Text = "MakeMetafile"
        CType(Me.picSmall, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.picOrig, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub
    Friend WithEvents picSmall As System.Windows.Forms.PictureBox
    Friend WithEvents picOrig As System.Windows.Forms.PictureBox

End Class
開發者ID:VB程序員,項目名稱:System.Drawing.Imaging,代碼行數:120,代碼來源:Metafile


注:本文中的System.Drawing.Imaging.Metafile類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。