精华内容
下载资源
问答
  • delphi中如何image控件显示网络图片

    千次阅读 2009-10-20 18:18:00
    窗体添加一个Image,一个IdHttp,一个Buttonuses Jpegprocedure TForm1.Button1Click(Sender: TObject);var imagestream:TMemoryStream; jpg:TJpegImage;begin imagestream := TMemoryStream.Create()
    在窗体添加一个Image,一个IdHttp,一个Button
    
    uses Jpeg
    procedure TForm1.Button1Click(Sender: TObject);
    var
        imagestream:TMemoryStream;
        jpg:TJpegImage;
    begin
        imagestream := TMemoryStream.Create();
        jpg:=TJpegImage.Create;
        idhttp1.Get('http://img466.ph.126.net/Ec1UwEf2zmavmPCIjXb7tA==/180988410025918883.jpg',imagestream);
        imagestream.Position:=0;
        jpg.LoadFromStream(imagestream);
        image1.Picture.Assign(jpg);
    end;
    展开全文
  • GridControl一列的ColumnEdit属性选择PictureEdit,一个RepositoryItemPictureEdit添加完成。列的FieldName设置为Image列名,如img。 GridControl绑定的数据,不管是DataTable、List或者其他源,添加一个列,列名...

    GridControl一列的ColumnEdit属性中选择PictureEdit,一个RepositoryItemPictureEdit添加完成。列的FieldName设置为Image列名,如img。

    GridControl绑定的数据,不管是DataTable、List或者其他源,添加一个列,列名为img。 以DataTable为例:

     

    Image xx=Image.FromFile("xxx"),yy=Image.FromFile("yyy");
    dt.Columns.Add("img");
    foreach(DataRow dr in dt.Rows)
    {
        if(dr["imgflag"].ToString()=="1")
            dr["img"]=xx;
        else dr["img"]=yy;
    }

    使用这种方法时遇到问题就是图片一直无法显示在列表中,并且检查GridControl所有属性后仍然未找到解决方案:

    最后解决方案如下:

    Image xx=Image.FromFile("xxx"),yy=Image.FromFile("yyy");
    dt.Columns.Add("img", Type.GetType("System.Byte[]"));
    foreach(DataRow dr in dt.Rows)
    {
        if(dr["imgflag"].ToString()=="1")
            dr["img"]=ImageToBytes(xx);
        else dr["img"]=ImageToBytes(yy);
    }

     

    public static byte[] ImageToBytes(Image image)
            {
                ImageFormat format = image.RawFormat;
                using (MemoryStream ms = new MemoryStream())
                {
                    if (format.Equals(ImageFormat.Jpeg))
                    {
                        image.Save(ms, ImageFormat.Jpeg);
                    }
                    else if (format.Equals(ImageFormat.Png))
                    {
                        image.Save(ms, ImageFormat.Png);
                    }
                    else if (format.Equals(ImageFormat.Bmp))
                    {
                        image.Save(ms, ImageFormat.Bmp);
                    }
                    else if (format.Equals(ImageFormat.Gif))
                    {
                        image.Save(ms, ImageFormat.Gif);
                    }
                    else if (format.Equals(ImageFormat.Icon))
                    {
                        image.Save(ms, ImageFormat.Icon);
                    }
                    byte[] buffer = new byte[ms.Length];
                    //Image.Save()会改变MemoryStream的Position,需要重新Seek到Begin
                    ms.Seek(0, SeekOrigin.Begin);
                    ms.Read(buffer, 0, buffer.Length);
                    return buffer;
                }
            }

    在DataTable列中添加图片列的时候需要制定数据类型。

     

    然后设置 gridcontrol1.DataSource=dt; 完成。
     

    上一篇介绍的是直接使用Image类型,也可以使用byte[]。 

    如果数据库中直接存的二进制,没什么好说的,直接DataSource=dt绑定完成即可。

    下面是一个image路径的例子。 

    private void showData(List list) {
     
        DataTable dt = new DataTable("OneEmployee");
     
        dt.Columns.Add("Caption",System.Type.GetType("System.String"));
     
        dt.Columns.Add("Department",System.Type.GetType("System.String"));
     
        dt.Columns.Add("PhotoName",System.Type.GetType("System.Byte[]"));
     
        for (int i = 0; i < list.Count; i++) {
     
            DataRow dr = dt.NewRow();
     
            dr["Caption"] = list[i].Name;
     
            dr["Department"] =list[i].Department;
     
            string imagePath = @"D:/C#/photos/" + list[i].PhotoPath;
     
            dr["PhotoName"] = getImageByte(imagePath);
     
            dt.Rows.Add(dr);
     
        }
     
        gridControl1.DataSource = dt;
     
    }
     
     
    //返回图片的字节流byte[]
     
    private byte[] getImageByte(string imagePath) {
     
        FileStream files = new FileStream(imagePath,FileMode.Open);
     
        byte[] imgByte = new byte [files.Length ];
     
        files.Read(imgByte,0, imgByte.Length);
     
        files.Close();
     
        return imgByte;
     
    }

     

    还有一种方法,使用CustomUnboundColumnData事件 

    1. 创建了一个非绑定列并设置其相应的属性,属性设置如下: 

    FieldName设为Image (该字段名必须是唯一的) UnboundType设为 UnboundColumnType.Object

    ColumnEdit设为RepositoryItemPictureEdit类的实例(该操作PictureEdit 为该列的内置编辑器) 

    2. 处理View的CustomUnboundColumnData事件,用于为非绑定列填充数据。

    在该事件中需加载图片,将其存放在一个hashtable中,然后再将其提供给对应

    的单元格。 

    关键代码: 

    //获取文件路径
    string GetFileName(string color) {
        if(color == null ||color == string.Empty)
            return string.Empty;
        return color + ".jpg";
    }
    //处理CustomUnboundColumnData事件,为非绑定列填充数据
    private void gridView1_CustomUnboundColumnData(object sender,
    DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
    {
        if(e.Column.FieldName == "Image" && e.IsGetData) {
        GridView view = sender as GridView;
        string colorName = (string)((DataRowView)e.Row)["Color"];
        string fileName = GetFileName(colorName).ToLower();
        if(!Images.ContainsKey(fileName))
        {
            Image img = null;
            try {
                string filePath = DevExpress.Utils.FilesHelper.FindingFileName(Application.StartupPath, ImageDir+ fileName, false);
                img = Image.FromFile(filePath);
            } catch { }
                Images.Add(fileName, img);
            }
            e.Value = Images[fileName];
        }
    }

     

    转载于:https://www.cnblogs.com/xiarongrong/p/5168296.html

    展开全文
  • 我想问一下,我tkinter中添加了一个label,现在想删除或者隐藏它,应该怎么做? 我是展示了一张图片,想通过其他线程完成操作后,来删掉这个图片。 搜索了很多文章,最接近的是提及text的删除,但对于整个控件...
  • 如何在Qt中添加资源文件

    千次阅读 2013-12-19 11:31:45
    Qt中用CommandLinkButton控件实现图片浏览器的功能。 主要控件说明: 控件类型 控件名称 控件说明 文本 QLabel imageLabel 现实图片 TextLabel QCommandLinkButton commandLinkButtonNext 触发图片...

    在Qt中用CommandLinkButton控件实现图片浏览器的功能。

    主要控件说明:


    控件类型 控件名称 控件说明 文本
    QLabel imageLabel 显示图片 TextLabel
    QCommandLinkButton commandLinkButtonNext 触发下一张图片 下一张
    1. 建立Qt Gui Application工程,可翻看前面博文,在此不再赘述。
    2. 添加资源文件:在工程目录下新建文件夹images,文件夹中有5张照片,分别是1.jpg、2.jpg、3.jpg、4.jpg、5.jpg。
    3. 我的工程目录是:/home/new/Desktop/qtstudy/button/CommandLinkButton
    4. 在工程名称上右击,选择“Add New”,选择“Qt”下的“Qt Resource file”。选择“Choose”确定。
           5.在“Name”后面添加“images”,“Path”后的路径为images路径,我的为:/home/new/Desktop/qtstudy/button/CommandLinkButton

           6.点击“Next”,将选项配置如下图,Add to project下选择<None>,单击“Finish”

            7.单击“Add”,选择“Add Prefix”,即添加前缀。然后再Add Prefix选项下添加“/”,如下图:


            8.单击“Add”,选择“Add Files”,选中“images”目录下的所有图片文件,单击“打开”,添加成功后如下图:


            9.点击工程目录下的.ui文件,拖拽一个QLable控件和QCommandLinkButton控件,布局如下:

            10.在.h文件中添加如下代码:Ui::MainWindow *ui;后面是添加的代码

    private:
        Ui::MainWindow *ui;
        QStringList list;     //用于保存文件名称
        int currentImage;  //用于循环图片
    private slots:
        void on_commandLinkButtonNext_clicked();  //槽函数,点击后显示下一张图片


              11.在.cpp文件下添加头文件和源代码:除去原来工程自带的,还需添加部分代码,其他文件不需添加代码。请读者自己对照完善。一定要注意照片的路径。

    #include "mainwindow.h"
    #include "ui_mainwindow.h"
    #include <QMessageBox>
    #include <QFileDialog>
    #include <QImage>
    #include <QString>
    #include <QPalette>
    #include <QSizePolicy>
    MainWindow::MainWindow(QWidget *parent) :
        QMainWindow(parent),
        ui(new Ui::MainWindow)
    {
        ui->setupUi(this);
        this->currentImage = 0;
    //初始化文件列表,注意照片路径,我的是/home/new/Desktop/qtstudy/button/CommandLinkButton/
        this->list<<"/home/new/Desktop/qtstudy/button/CommandLinkButton/images/1.jpg"
                       <<"/home/new/Desktop/qtstudy/button/CommandLinkButton/images/2.jpg"
                       <<"/home/new/Desktop/qtstudy/button/CommandLinkButton/images/3.jpg"
                       <<"/home/new/Desktop/qtstudy/button/CommandLinkButton/images/4.jpg"
                       <<"/home/new/Desktop/qtstudy/button/CommandLinkButton/images/5.jpg";
        //设置imageLabel的大小和背景
        ui->imageLabel->setBackgroundRole(QPalette::Base);
        ui->imageLabel->setSizePolicy(QSizePolicy::Ignored,QSizePolicy::Ignored);
        ui->imageLabel->setScaledContents(true);
    
      //  resize(400,400);
        QString fileName = list.at(this->currentImage);
        if(!fileName.isEmpty())
        {
            QImage image(fileName);
            if(image.isNull())
            {
                QMessageBox::information(this,tr("Image Viewer"),tr("Cannot load %1.").arg(fileName));
                return ;
            }
            ui->imageLabel->setPixmap(QPixmap::fromImage(image));
        }
    }
    
    MainWindow::~MainWindow()
    {
        delete ui;
    }
    
    void MainWindow::on_commandLinkButtonNext_clicked()
    {
        if(this->currentImage == 4)
            this->currentImage = 0;
        else
            this->currentImage++;
        QString fileName = list.at(this->currentImage);
        if(!fileName.isEmpty())
        {
            QImage image(fileName);
            if(image.isNull())
            {
                QMessageBox::information(this,tr("Image Viewer"),tr("Cannot load %1.").arg(fileName));
                return ;
            }
             ui->imageLabel->setPixmap(QPixmap::fromImage(image));
        }
    }
    最后的函数是槽函数的定义。

            12.编译运行,最后结果如下图:






    展开全文
  • 1.新建一个工程,假设桌面有一张图片: 文件名为:1.jpg 2.打开工程下的Resources.resx文件 ...6.设置Image属性,选择资源的_1文件即可,这样我们就能使用资源里面的图片啦 ^^ 本文转自黄聪博客园...

    1.新建一个工程,假设桌面有一张图片:

    2010042411491225.png

    文件名为:1.jpg

    2.打开工程下的Resources.resx文件

    2010042411495479.png

    3.添加资源--添加现有文件

    2010042411512436.png

    4.选择我们桌面的图片,得下图所示

    2010042411522122.png

    5.在窗体里面拖一个pictureBox控件:

    2010042411540940.png

    6.设置Image属性,选择资源中的_1文件即可,这样我们就能使用资源里面的图片啦 ^^

    2010042411533876.png




    本文转自黄聪博客园博客,原文链接:http://www.cnblogs.com/huangcong/archive/2010/04/24/1719235.html,如需转载请自行联系原作者
    展开全文
  • 另一个是专属于某窗体使用的图片资源,位置窗体下的resx文件,如上图的第2个红圈就是。 4.设置Image属性,打开弹窗 本地资源,对应的是专属于某窗体使用的资源。 项目资源文件,则是大家都可以使用的资源...
  • 如何给对话框添加背景图片

    千次阅读 2012-07-24 16:44:51
    首先对话框放入picture控件,然后将位图资源导入到工程,最后picture控件的属性Type选择BitMap,Image中选择自己载入的位图资源。 2、通过程序来实现: 1)载入图片资源(bmp格式); 2)对话框类...
  • 1.首先,打开工具箱,找到...另一个是专属于某窗体使用的图片资源,位置窗体下的resx文件,如上图的第2个红圈就是。4.设置Image属性,打开弹窗​本地资源,对应的是专属于某窗体使用的资源。项目资源文...
  • 1.新建一个工程,假设桌面有一张图片: 文件名为:1.jpg 2.打开工程下的Resources.resx文件 ...3.添加资源--添加现有文件 ...6.设置Image属性,选择资源的_1文件即可,这样我们就能使用资源里面的图片啦 ^^ ...
  • 1.首先,打开工具箱,找到...另一个是专属于某窗体使用的图片资源,位置窗体下的resx文件,如上图的第2个红圈就是。4.设置Image属性,打开弹窗​本地资源,对应的是专属于某窗体使用的资源。项目资源文...
  • 首先要报表中添加 image控件 source选择database mimetype 我这里选择的是 image/bmp value 值选择数据集中定义好的 字段,我这里定义名称为:Image value对应的表达式为:=Fields!Image.Value 这里的value 解释如下...
  • C#如何使用资源图片

    千次阅读 2010-04-26 09:03:00
    1.新建一个工程,假设桌面有一张图片:文件名为:1.jpg 2.打开工程下的Resources.resx文件 3.添加资源--添加现有文件 4....设置Image属性,选择资源的_1文件即可,这样我们就能使用资源里面的图片啦 ^
  • 如何在devexpress表格控件gridcontrol实现呢?以下列举一个实现添加图片列,按钮列,时间列,按钮列,开关列的示例,效果图如下: 2、数据代码,其中图片列使用了两种方法,大家可根据自己要求变跟。 ...
  • // TODO: 添加控件通知处理程序代码 CString path; CString filter; filter = "Picture Files (*.bmp *.jpg)|*bmp;;*jpg||"; CFileDialog readfileDlg(TRUE, NULL, NULL, OFN_HIDEREADONLY, filter);//...
  • MFC控件的使用

    2019-09-23 07:36:46
    如何在对话框上添加图片 利用MFC中的Picture Control控件,步骤如下: 在资源管理其中添加一个位图文件; 在对话框中添加一个Picture Control控件,并将该控件Type属性选择为Bitmap; 随后,在Image属性中选择...
  • MFC列表控件

    2014-04-02 18:01:33
    1.如何在对话框上添加图片 利用MFC中的Picture Control控件,步骤如下: 在资源管理其中添加一个位图文件; 在对话框中添加一个Picture Control控件,并将该控件Type属性选择为Bitmap; 随后,在Image属性中选择...
  • 在进行学生系统时界面优化是必不可少的,学生系统大多数用的是SDI窗体,界面优化我们之前做过很多,也很熟悉了,但今天优化主窗体MDI窗体时遇到了问题,不能用之前的方法...2、在image控件里放入想要的图片 3、属...
  • ASP.NET 2.0中使用webpart系列控件(2) 接下来,我们介绍如何在Webpart系列控件中,使用用户自定义的控件。 1、首先,我们为工程项目增加一个"google.ascx"的控件,并且在images目录下,添加google那张著名的logo图片...
  • 接下来,我们介绍如何在Webpart系列控件中,使用用户自定义的控件。 1、首先,我们为工程项目增加一个"google.ascx"的控件,并且在images目录下,添加google那张著名的logo图片。 接着,往窗体中添加一个2*2行的表格...
  • 第一、parameters中添加参数,作为图片要传的url地址,我这里命名为:leaf_banner_violet 第二、表报中拖入一个image控件,修改控件属性,如下是我的设计:     2、 将编译后的rep
  • 展开全部1、新建一个数据库32313133353236313431303231363533e59b9ee7...2、新建一个项目(Photo),工具箱往窗体拖入一个PictureBox控件,两个Button按钮,一个OpenFileDialog控件。并修改pictureBox1控件的属...
  • 由于Xamarin.Forms的面世的时间不到一年,虽然朝着wpf的方面前行,但是还有很多地方不完善,譬如最基本的,View的背景图片无法设置,BackgroundImage只是Page才有. 所以,只能找变通的方式了.  个人能想到的方式是...
  • 我现在的问题就是片段1里,点击 按钮去相册选择一张照片后,准备显示ImageView上,但是不能成功显示,或者说根本就不显示选择的那张照片! 片段一里调用相册的代码是: Intent intent = new Intent(); ...
  • 这里主要介绍如何在QLabel中显示URL头像(如果使用QML开发,直接在Image控件的source属性中添加URL即可) 实现思路为使用QNetworkAccessManager从头像URL获取数据并使用QPixmap存储图片数据,获取数据后发送信号...
  • UIVIEW如何设置圆角

    2015-11-15 18:19:48
    实际的应用,我们总感觉圆角的东西比较好看, 像button,label,image等等,以前的时候我就经常给那些控件添加一个UIImageView作为背景,再搞张圆角的图片 viewT.layer.cornerRadius = 10;//设置那个圆角的有多...

空空如也

空空如也

1 2 3 4 5 6
收藏数 108
精华内容 43
关键字:

如何在image控件中添加图片