威尼斯人线上娱乐

从VS界面把图片导入数据库,WPF如何将数据库中的二进制图片数据体将来Image控件上

4 4月 , 2019  

private void button1_Click(object
sender, EventArgs e)
{
  //创制文件对象
  FileInfo fi = null;

先是在xaml文件里定义1个Image控件,取名叫img

//打开文件
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.InitialDirectory = “E:\\”;
            openFileDialog.Filter = “Md1 File(*.md1)|*.md1”;
            openFileDialog.RestoreDirectory = true;
            openFileDialog.FilterIndex = 1;
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                textBox1.Text = openFileDialog.FileName;
            }

  Byte[] bytBLOBData;//2进制图片值数组
        MemoryStream stmBLOBData;//证明回想流对象

  //实例化打开文件对话框
  OpenFileDialog ofd = new
OpenFileDialog();

MemoryStream stream = new MemoryStream(获得的数据库对象);

//保存文件

  OpenFileDialog ofd = new OpenFileDialog();//创造打开文件对话框类对象
            ofd.Filter =
“图片类形(*.jpg;*.png;*.gif)|*.jpg;*.png;*.gif”;//钦定打开文件的品类

  //设置对话框的先导路径
  ofd.InitialDirectory =
@”C:\Users\Public\Pictures\Sample Pictures”;

BitMapImage bmp = new BitMapImage();

SaveFileDialog sfd = new SaveFileDialog();
            sfd.InitialDirectory = “E:\\”;
            sfd.Filter =
“jpg文件(*.jpg)|*.jpg|png文件(*.png)|*.png”;
            if(sfd.ShowDialog() == DialogResult.OK)
            {
                textBox2.Text = sfd.FileName;
            }

if (ofd.ShowDialog() == DialogResult.OK)
            {
                pictureEdit1.Image =
Image.FromFile(ofd.FileName);//将图片填充到picture艾德it控件
                stmBLOBData = new MemoryStream(); //创制纪念流对象
                pictureEdit1.Image.Save(stmBLOBData, ImageFormat.Jpeg); 
// 把图纸保存到回忆流对象中

  //设置过滤器
  ofd.Filter =
“图片格式|*.jpg;*.png;*.gif|记事本文书档案|*.txt”;

bmp.BeginInit();//初始化

而外PrintPreviewDialog外,别的对话框类都派生于肤浅基类CommonDialog,那些基类的措施能够经济管理Windows通用对话框。

 

  ////暗中同意过滤器下标为0
  //ofd.FilterIndex =
1;

bmp.StreamSource = stream;//设置源

对话框实用的地方:

                bytBLOBData = new
Byte[stmBLOBData.Length];//设定2进制对象bytBLOBData的长度
            }

  //判断是不是点击打开按钮

bmp.EndInit();//开始化甘休

壹.要让用户挑选和浏览要打开的公文,应接纳OpenFileDialog。那一个对话框能够配备为只可能采用1个文书,或能够选取多少个文本。

 二、在依据自身的内需把2进制数存进数据库中,截图如下:

  if(ofd.ShowDialog()==DialogResult.OK)
  {
    //创制图片文件
    fi = new
FileInfo(ofd.FileName);

img.Source = bmp;//设置图像Source

2.行使SaveFileDialog,用户可认为要封存的文书内定三个文本名和浏览的门径。

威尼斯人线上娱乐 1     

    //定义变量表示文件的最后复制的靶子路径
    //Application.StartupPath——Debug目录的相对路径
    string despath =
@Application.StartupPath + “\\images\\” + fi.Name;

无数人用这些办法都未有起头化BitMapImage
,那样将会造成错误,并不可能平常获取图片数据。

三.PrintDialog用户选拔多个打字与印刷机,并安装打字与印刷选项。

威尼斯人线上娱乐 2

 

public class emp

四.装备页面包车型地铁边距,凡是利用PageSetupDialog。

威尼斯人线上娱乐 3

    //不设有则复制

{

伍.PrintViewDialog是在显示屏长举办打字与印刷预览的壹种方法,并有一些精选如缩放。

    if(!File.Exists(despath))

  public byte[] Photo{set;get;}

从VS界面把图片导入数据库,WPF如何将数据库中的二进制图片数据体将来Image控件上。陆.FontDialog列出了装有已安装的Windows字体、样式和字号,以及各字体的预览结果,以便选拔字体。

    {
      //复制文件到对象路径
      fi.CopyTo(despath);
    }

}

七.ColorDialog用于选拔色彩。

    //获取选中文件
    textBox1.Text= fi.Name;

xaml中的代码

 

    //通过文件路径,获取图片并放入控件中
    pictureBox1.Image = Image.FromFile(despath);
  }
}

 private void btnChoosePhoto_Click(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new
OpenFileDialog();//打开选拔文件窗口
            ofd.Filter = “jpg|*.jpg|png|*.png”;//过滤器
            if (ofd.ShowDialog() == true)
            {
                string fileName = ofd.FileName;//得到文件的全体路径
                emp.Photo   =
File.ReadAllBytes(fileName);//把图像的2进制数据存款和储蓄到emp的Photo属性中
                img.Source = new BitmapImage(new
Uri(fileName));//将图纸显示到Image控件上
            }
        }

文件对话框:

l         OpenFileDialog:打开文件对话框

l         SaveFileDialog:保存文件对话框

开拓文件对话框

            OpenFileDialog ofd = new OpenFileDialog();

            ofd.ShowDialog();

       会弹出三个开辟文件的对话框。 

路过进度批改对象的Title属性,能够更改对话框的题材

明日呈现的是“打开”,做如下设置

            ofd.Title = “设置后难题文字:)”;

再一次运转法度,大家就会看响应的批改 

 

咱俩还能经过进程设置InitialDirectory属性来使打开文件对话框打开时在四个装置好的暗中认可路径上。它的暗中同意值是贰个空字符串,默示用户的“小编的文书档案”目次,第1次在采用法律中使用那一个对话框时,就显得“小编的文书档案”目次下的文书,第1次再打开对话框时,显示的目录就与上二次打开的公文地点的目录雷同。

在实际应用的时刻,不要写死1个门路,假使用户不设有那么些路径会显示错误。为了取得特定的系统文件夹,可以运用System.Environment类的静态办法GetFolderPath()。该办法接管七个Environment.SpecialFolder列举,其中能够定义要回去路径的哪位种类目次。

ofd.InitialDirectory =
Environment.GetFolderPath(Environment.SpecialFolder.Templates);

设置文件过滤器用于打开文件对话框中显示特定类型的文件。

ofd.Filter = “Text Document(*.txt)|*.txt|All
Files|*.*|笔者要展现的文件类型(*.exe)|*.exe”;

 

设置错误的Filter值会产生1个运营非凡System.ArgumentException和错误音信“The
provided filter string is invalid”。过滤器前后也不容许有空格。

FilterIndex属性钦赐列表框中的暗许选项。

安装文件有效性验证ValidateNames,验证用户输入是不是是1个使得的Windows文件名。

CheckPathExists:验证路径有效性

CheckFileExists:验证文件有效性

 ofd.ValidateNames = true;

 ofd.CheckPathExists = true;

 ofd.CheckFileExists = true;

自定义协理消息:

设置对象的ShowHelp属性能够展现二个相助按钮,自定义帮忙消息。

经由进程HelpRequest事务添加三个甩卖处置法度。

 ofd.ShowHelp = true;

 ofd.HelpRequest += new EventHandler(ofd_HelpRequest);

 private void ofd_HelpRequest(object sender, EventArgs e)

  {

    MessageBox.Show(”小编本身定义的帮带音讯)”;

  }

单击支持按钮就会议及展览示本身定义的相助音讯。

设置Multi属性能够使打开文件对话框打开多少个文本。

经由进程如下断定能够得到打开文件对话框单击的是哪些按钮。

  if(ofd.ShowDialog() == DialogResult.OK)

  {

  }

封存文件对话框:

行使Title属性设置对话框的题材。

文本扩大名:

AddExtension是3个布尔属性,它定义了文件扩大名是不是应积极添加到用户输入的文书名上。借使用户已经输入了3个文本扩充名,就不会添加此外增添名了。所以只要用户输入了文件名test,就封存文件test.txt,如果输入了test.txt,保存的文书大概test.txt,而不是test.txt.txt。

尽管用户未有输入文件扩张名,就接纳DefaultExt属性设置的公文扩大名。纵然那性格情为空,就使用当前增选的Filter中定义的文书扩展名。倘使设置了Filter和DefaultExt,则非论Filter是什么,都采纳Default。

同OpenFileDialog1样,具有ValidateNames、CheckFileExists和CheckPathExists两天性子,差距是对于SaveFileDialog,CheckFileExists的暗中认可值是false,默示能够须求新文件名,实行保存。

若果设置CreatePrompt属性为true,就会询问用户是还是不是要成立一个新文件。

若是设置OverwritePrompt属性为true,就会询问用户是或不是要遮盖二个已有些文件。

进行如下概念1个封存文件对话框后,大家历经进度如下效果能够兑现1个另存为的效能:

SaveFileDialog sfd = new SaveFileDialog();

    private void miFileSaveAs_Click(object sender, EventArgs e)

    {

        if(sfd.ShowDialog() == DialogResult.OK)

        {

            string fileName = sfd.FileName;

            SaveFile(fileName);

        }

    }

    protected void SaveFile(string fileName)

    {

        try

        {

            Stream stream = File.OpenWrite(fileName);

            using(StreamWriter writer = new StreamWriter(stream))

            {

                writer.Write(textBox1.Text);

            }

        }

        catch(IOException ex)

        {

            MessageBox.Show(ex.Message,”Simple
Editor”,MessageBoxButtons.OK,MessageBoxIcon.Exclamation);

        }

    } 

 打开文件夹

 C#
Win应用程序打开对话框如何落实打开文件夹而不打开具体的3个文书?也正是开拓对话框中最后取得的是3个文本路径,但并从未实际的文书““答案1

System.Windows.Forms.FolderBrowserDialog folder = new
System.Windows.Forms.FolderBrowserDialog(); 
if ( folder.ShowDialog()== DialogResult.OK) 

  this.textBox1.Text = folder.SelectedPath; 
}
始建文件夹

 

 
 
 
 
if (!Directory.Exists(sPath))
{
     Directory.CreateDirectory(sPath);
}

c# 选拔文件夹的对话框  

     
大家清楚,C#在这之中有选择文件的对话框控件,却未曾采纳文件夹的对话框控件,不少人为了选用一个文件夹只能本身用TreeView类来处理,其实在C#内部完全不用那么劳苦,大家得以用C#的FolderNameEditor类的子类FolderBrowser类来完毕获取浏览文件夹对话框的意义。

  下边来看看现实是怎么落到实处的。

  首先新建一个winform的花色,再新建3个类公事(File->AddNewItem->Class)。

  因为FolderName艾德itor是在System.Windows.Forms.Design命名空间下的,此命名空间位于动态链接库system.design.dll,所以我们要先在缓解方案中添加新的引用(reference)System.Design。然后在代码中加上:

using System.Windows.Forms.Design;

  接着,大家新建三个FolderDialog类,此类从FolderName艾德itor类继承,在此类中新建1个FolderBrowser类的实例。DisplayDialog(string
description)函数用于安装实例fDialog的天性,并且展现浏览文件夹对话框。为了获取文件夹的门路,设置2个Path属性,再次回到选拔文件夹的门道。

  代码如下:

public class FolderDialog : FolderNameEditor
{
  FolderNameEditor.FolderBrowser fDialog = new
  System.Windows.Forms.Design.FolderNameEditor.FolderBrowser();
public FolderDialog()
{
}
public DialogResult DisplayDialog()
{
  return DisplayDialog(“请选用一个文书夹”);
}

public DialogResult DisplayDialog(string description)
{
  fDialog.Description = description;
  return fDialog.ShowDialog();
}
public string Path
{
  get
  {
    return fDialog.DirectoryPath;
  }
}
  ~FolderDialog()
  {
    fDialog.Dispose();
  }
}

//在winform窗体里写以下代码,能够看看运转效果。

  private void Form1_Load(object sender, System.EventArgs e)
  {
     FolderDialog aa=new FolderDialog ();
     aa.DisplayDialog ();
     MessageBox.Show (aa.Path);
  }

OpenFileDialog控件有以下为主天性

InitialDirectory 对话框的初始目录
Filter 要在对话框中显示的文件筛选器,例如,"文本文件(*.txt)|*.txt|所有文件(*.*)||*.*"
FilterIndex 在对话框中选择的文件筛选器的索引,如果选第一项就设为1
RestoreDirectory 控制对话框在关闭之前是否恢复当前目录
FileName 第一个在对话框中显示的文件或最后一个选取的文件
Title 将显示在对话框标题栏中的字符
AddExtension 是否自动添加默认扩展名
CheckPathExists 在对话框返回之前,检查指定路径是否存在
DefaultExt 默认扩展名
DereferenceLinks 在从对话框返回前是否取消引用快捷方式
ShowHelp 启用"帮助"按钮
ValiDateNames 控制对话框检查文件名中是否不含有无效的字符或序列

  二、 OpenFileDialog控件有以下常用事件

FileOk 当用户点击"打开"或"保存"按钮时要处理的事件
HelpRequest 当用户点击"帮助"按钮时要处理的事件

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace FileDialog
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private string fName;
        private bool isFileHaveName = false;
        private void 打开SToolStripMenuItem_Click(object sender,
EventArgs e)
        {
            OpenFileDialog openFileDialog = new OpenFileDialog();
            openFileDialog.InitialDirectory =
“c:\\”;//注意那里写路径时要用c:\\而不是c:\
            openFileDialog.Filter =
“文本文件|*.*|C#文件|*.cs|全体文件|*.*”;
            openFileDialog.RestoreDirectory = true;
            openFileDialog.FilterIndex = 1;
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                
                fName = openFileDialog.FileName;
              
                File fileOpen = new File(fName);
                isFileHaveName = true;
                richTextBox1.Text = fileOpen.ReadFile();
                richTextBox1.AppendText(“”);
            }

        }
    }

///////////在应用于调用WMP控件时////////////////////

openFileDialog一.Filter =
“录制文件(*.avi;*.wmv;*.dat;*.mpg;*.mpeg;*.mov;*.wm;*.wma)|*.avi;*.wmv;*.dat;*威尼斯人线上娱乐 ,.mpg;*.mpeg;*.mov;*.wm;*.wma|音频文件(*.wav;*.mp3;*.snd;*.au;*.midi;*.mid)|*.wav;*.mp3;*.snd;*.au;*.midi;*.mid|全部文件(*.*)|*.*”;
       

//打开的文件类型 

if(openFileDialog1.ShowDialog()==DialogResult.OK) 

   axWindowsMediaPlayer1.FileName = openFileDialog1.FileName; 

  //借使打开的是音频文件,则禁止【录制】菜单组
,据此可判断打开的文件类型

  if(openFileDialog1.FilterIndex == 2) 

  menuItemVideo.Enabled = false; 

  else 

  menuItemVideo.Enabled = true;    

 }  


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图