Поместить объект Icon в WPF - PullRequest
1 голос
/ 15 июля 2010

Я создал несколько объектов System.Drawing.Icon. Обратите внимание, что они создаются во время выполнения и не сохраняются и не загружаются из файловой системы. Я хотел бы разместить эти изображения в своем приложении WPF.

Однако, как я обнаружил за последние несколько часов, невозможно просто добавить объект, такой как system.drawing.image или значок, непосредственно на панель холста / стека, а также невозможно установить источник a System.Windows.Controls.Image к изображению или значку, не сохраненному в файловой системе (или мне так кажется).

Есть идеи?

1 Ответ

1 голос
/ 15 июля 2010

Это сработало для меня при динамической установке образа WPF с байтами, загруженными из растрового изображения, которое было либо динамически сгенерировано, либо загружено с диска:

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

using System.IO;
using System.Drawing.Imaging;

namespace Examples
{
    public class Util
    {
        private static void SetBitmap(Image imgDest, Bitmap bmpSource)
        {
            byte[] imageBytes;
            using (MemoryStream stream = new MemoryStream())
            {
                bmpSource.Save(stream, ImageFormat.Png);

                imageBytes = stream.ToArray();
            }

            BitmapImage bitmapImage = new BitmapImage();
            bitmapImage.BeginInit();
            bitmapImage.StreamSource = new MemoryStream(imageBytes);
            bitmapImage.EndInit();

            imgDest.Source = bitmapImage;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...