Преобразуйте систему. Рисование. Значок к системе. Медиа. ImageSource

Как предположение... это могло

  1. поиск слов
  2. , если это не найдено, используют некоторый алгоритм, чтобы попытаться "предположить" слово.

Могло быть что-то от AI как сеть Хопфилда или сеть обратного распространения или что-то еще "идентификация цифровых отпечатков", восстановив поврежденные данные или исправления орфографических ошибок, как Davide уже упомянул...

41
задан Kevin Montrose 14 July 2009 в 20:03
поделиться

2 ответа

Попробуйте следующее:

Icon img;

Bitmap bitmap = img.ToBitmap();
IntPtr hBitmap = bitmap.GetHbitmap();

ImageSource wpfBitmap =
     Imaging.CreateBitmapSourceFromHBitmap(
          hBitmap, IntPtr.Zero, Int32Rect.Empty, 
          BitmapSizeOptions.FromEmptyOptions());

ОБНОВЛЕНИЕ : Включите предложение Алекса и сделайте его методом расширения:

internal static class IconUtilities
{
    [DllImport("gdi32.dll", SetLastError = true)]
    private static extern bool DeleteObject(IntPtr hObject);

    public static ImageSource ToImageSource(this Icon icon)
    {            
        Bitmap bitmap = icon.ToBitmap();
        IntPtr hBitmap = bitmap.GetHbitmap();

        ImageSource wpfBitmap = Imaging.CreateBitmapSourceFromHBitmap(
            hBitmap,
            IntPtr.Zero,
            Int32Rect.Empty,
            BitmapSizeOptions.FromEmptyOptions());

        if (!DeleteObject(hBitmap))
        {
            throw new Win32Exception();
        }

        return wpfBitmap;
    }
}

Затем вы можете сделать:

ImageSource wpfBitmap = img.ToImageSource();
52
ответ дан 27 November 2019 в 00:07
поделиться
MemoryStream iconStream = new MemoryStream();
myForm.Icon.Save(iconStream);
iconStream.Seek(0, SeekOrigin.Begin);
_wpfForm.Icon = System.Windows.Media.Imaging.BitmapFrame.Create(iconStream);
9
ответ дан 27 November 2019 в 00:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: