javascrip能实现上传图片并把图片保存下来以供读取吗?急啊!
解决方案 »
- 一个普遍的数学求解幂运算问题
- 线程 关闭窗口 问题
- 为什么单独运行界面能自动加载数据 链接过去就不能勒
- 有点难度的简单问题(按参数 创建 类名)
- C#2.0 DataList显示记录时,如果没有任何记录则DataList显示'没有数据',怎么实现啊??
- 菜鸟300问之一:数组-------------在线等答案
- 我是用textbox呢,还是用listbox啊,兄弟们帮帮忙~!
- 学C#很长时间了,可总是没什么进步,特向各位请教来了。
- 水晶报表获取打印机状态与名称
- DataSet中数据插入到数据库的问题?
- 求:dwg的文件格式分析文档
- 怪异,不是说用OLEDB,sql语法的参数必须用"?",我用@,怎么也可以
用的时候用js读取出来显示!~
试试
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Drawing.Imaging;namespace zhua2
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(80, 32);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(112, 24);
this.button1.TabIndex = 1;
this.button1.Text = "开始抓图";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// saveFileDialog1
//
this.saveFileDialog1.FileName = "doc1";
this.saveFileDialog1.Filter = "jpg Files(*.jpg)|*.jpg|jpeg Files(*.*)|*.jpeg|bmp Files(*.bmp)|*.bmp";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(292, 93);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "抓图软件";
this.ResumeLayout(false); }
#endregion /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
} //调用动态链接库gdi32.dll
[ System.Runtime.InteropServices.DllImportAttribute ( "gdi32.dll" ) ]
private static extern bool BitBlt (
IntPtr hdcDest , //目标设备的句柄
int nXDest , // 目标对象的左上角的X坐标
int nYDest , // 目标对象的左上角的X坐标
int nWidth , // 目标对象的矩形的宽度
int nHeight , // 目标对象的矩形的长度
IntPtr hdcSrc , // 源设备的句柄
int nXSrc , // 源对象的左上角的X坐标
int nYSrc , // 源对象的左上角的Y坐标
System.Int32 dwRop // 光栅的操作值
) ; //调用动态链接库gdi32.dll
[ System.Runtime.InteropServices.DllImportAttribute ( "gdi32.dll" ) ]
private static extern IntPtr CreateDC (
string lpszDriver , // 驱动名称
string lpszDevice , // 设备名称
string lpszOutput , // 无用,可以设定位"NULL"
IntPtr lpInitData // 任意的打印机数据
) ;
private void button1_Click(object sender, System.EventArgs e)
{
this.Hide();
IntPtr dc1 = CreateDC ( "DISPLAY" , null , null , ( IntPtr ) null ) ;
//创建显示器的DC
Graphics g1 = Graphics.FromHdc ( dc1 ) ;
//由一个指定设备的句柄创建一个新的Graphics对象
Bitmap MyImage = new Bitmap ( Screen.PrimaryScreen.Bounds.Width , Screen.PrimaryScreen.Bounds.Height , g1 ) ;
//根据屏幕大小创建一个与之相同大小的Bitmap对象
Graphics g2 = Graphics.FromImage ( MyImage ) ;
//获得屏幕的句柄
IntPtr dc3 = g1.GetHdc ( ) ;
//获得位图的句柄
IntPtr dc2 = g2.GetHdc ( ) ;
//把当前屏幕捕获到位图对象中
BitBlt ( dc2 , 0 , 0 , Screen.PrimaryScreen.Bounds.Width , Screen.PrimaryScreen.Bounds.Height , dc3 , 0 , 0 , 13369376 ) ;
//把当前屏幕拷贝到位图中
g1.ReleaseHdc ( dc3 ) ;
//释放屏幕句柄
g2.ReleaseHdc ( dc2 ) ;
//释放位图句柄
if (saveFileDialog1.ShowDialog () == DialogResult.OK )
{
MyImage.Save ( saveFileDialog1.FileName, ImageFormat.Bmp ) ;
MessageBox.Show ( "已经把当前屏幕保存!" ) ;
this.Show();
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Threading;
using Microsoft.Win32;
using System.Collections;namespace 人员考勤查询
{
public partial class Form1 : Form
{
private string ReceivedString;
//private string RegPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\John Finlay\\kj201a";
private string str;
private delegate void delegatechange();
private int len=6;
private DataSet ds;
private ArrayList list = new ArrayList();
private ArrayList list1 = new ArrayList();
private int num = 0; //***********************************************************************
private string ip = "192.168.20.30";
//***********************************************************************
private Business.Business bs = new Business.Business();
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{
this.timer1.Start();
//***********************************************************************
//th = new System.Threading.Thread(ping);
//th.Start();
//***********************************************************************
//连接串口
try
{
ReceivedString = ""; //serialPort1.PortName = Convert.ToString(Registry.GetValue(RegPath, "PCOM", "COM1"));
//serialPort1.BaudRate = Convert.ToInt32(Registry.GetValue(RegPath, "PBaudRate", "57600")); //serialPort1.PortName = "COM3"; //serialPort1.BaudRate = 57600; ////打开串口
//serialPort1.Open();
string filename;
string sLine;//
string cnstr; filename = AppDomain.CurrentDomain.BaseDirectory + "config.txt";
System.IO.StreamReader objReader;
objReader = new System.IO.StreamReader(filename);
sLine = objReader.ReadLine();
cnstr = sLine;
sLine = objReader.ReadLine();
serialPort1.PortName = sLine;
sLine = objReader.ReadLine();
serialPort1.BaudRate = Convert.ToInt32(sLine);
serialPort1.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message );
}
} //***********************************************************************
void ping()
{
do
{
//调用ping类,一直ping服务器IP
Ping.Ping pi = new Ping.Ping();
pi.Pinging(ip, 255, 65535);
//如果不通弹出窗体
if (pi.Receive() == false)
{
this.Invoke(new delegatechange(waitform));
}
System.Threading.Thread.Sleep(1000);
} while (true); }
private void waitform()
{
Form2 curwaitform=new Form2 ();
curwaitform.ip = ip;
curwaitform.ShowDialog();
}
//***********************************************************************
private void timer1_Tick(object sender, EventArgs e)
{
this.toolStripStatusLabel2.Text = "当前时间:" + DateTime.Now.ToString();
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
//关闭窗口时关闭串口
this.serialPort1.Close();
}
}
}