已知位置(X,Y)和尺寸(nWidth,nHeight),如何绘制一张图片?我的代码如下,报错说:m_objBitmap2参数无效。求解啊~using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Xml;
using System.Drawing.Imaging;namespace BillTemplate
{
public partial class MyWin2 : Form
{
public MyWin2()
{
InitializeComponent();
} public Bitmap m_objBitmap2 = null;
// 绘制位图
private void OnPaint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(m_objBitmap2, 0, 0); //这里报错
} public string strFileName = string.Format("{0:yyyy_MM_dd_HH_mm_ss_ffff}", DateTime.Now) + ".tif";
private void MyWin2_Load(object sender, EventArgs e)
{
int X = 100;
int nStartY = 100;
int nWidth = 100;
int nHeight = 100;
//g.DrawRectangle(new Pen(Color.Black, 3), nStartX, nStartY, nWidth, nHeight); m_objBitmap2 = new Bitmap(nWidth, nHeight, PixelFormat.Format16bppRgb565);
Graphics g = Graphics.FromImage(m_objBitmap2);
g.DrawImage(m_objBitmap2, new Rectangle(0, 0, nWidth, nHeight), nStartX, nStartY, nWidth, nHeight, GraphicsUnit.Pixel);
//Rectangle destImg = new Rectangle(nStartX,nStartY,nWidth,nHeight);
//g.DrawImage(m_objBitmap2, destImg, nStartX, nStartY, nWidth, nHeight, GraphicsUnit.Pixel);
m_objBitmap2.Save(strFileName, ImageFormat.Tiff);
m_objBitmap2.Dispose(); }
}}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using System.Xml;
using System.Drawing.Imaging;namespace BillTemplate
{
public partial class MyWin2 : Form
{
public MyWin2()
{
InitializeComponent();
} public Bitmap m_objBitmap2 = null;
// 绘制位图
private void OnPaint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(m_objBitmap2, 0, 0); //这里报错
} public string strFileName = string.Format("{0:yyyy_MM_dd_HH_mm_ss_ffff}", DateTime.Now) + ".tif";
private void MyWin2_Load(object sender, EventArgs e)
{
int X = 100;
int nStartY = 100;
int nWidth = 100;
int nHeight = 100;
//g.DrawRectangle(new Pen(Color.Black, 3), nStartX, nStartY, nWidth, nHeight); m_objBitmap2 = new Bitmap(nWidth, nHeight, PixelFormat.Format16bppRgb565);
Graphics g = Graphics.FromImage(m_objBitmap2);
g.DrawImage(m_objBitmap2, new Rectangle(0, 0, nWidth, nHeight), nStartX, nStartY, nWidth, nHeight, GraphicsUnit.Pixel);
//Rectangle destImg = new Rectangle(nStartX,nStartY,nWidth,nHeight);
//g.DrawImage(m_objBitmap2, destImg, nStartX, nStartY, nWidth, nHeight, GraphicsUnit.Pixel);
m_objBitmap2.Save(strFileName, ImageFormat.Tiff);
m_objBitmap2.Dispose(); }
}}
// 绘制位图
private void OnPaint(object sender, PaintEventArgs e)
{
e.Graphics.DrawImage(m_objBitmap2(窗体刚打开时候为null), 0, 0); //这里报错
}
错误二: m_objBitmap2.Dispose();这句话去掉 改正: public MyWin2()
{
InitializeComponent();
在这里加上Bitmap m_objBitmap2 =new Bitmap(......);
}
求解啊