mirror of
https://github.com/openhardwaremonitor/openhardwaremonitor
synced 2025-08-22 18:07:09 +00:00
66 lines
1.8 KiB
C#
66 lines
1.8 KiB
C#
/*
|
|
|
|
This Source Code Form is subject to the terms of the Mozilla Public
|
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
Copyright (C) 2009-2010 Michael Möller <mmoeller@openhardwaremonitor.org>
|
|
|
|
*/
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Reflection;
|
|
|
|
namespace OpenHardwareMonitor.Utilities {
|
|
public class EmbeddedResources {
|
|
|
|
public static Image GetImage(string name) {
|
|
name = "OpenHardwareMonitor.Resources." + name;
|
|
|
|
string[] names =
|
|
Assembly.GetExecutingAssembly().GetManifestResourceNames();
|
|
for (int i = 0; i < names.Length; i++) {
|
|
if (names[i].Replace('\\', '.') == name) {
|
|
using (Stream stream = Assembly.GetExecutingAssembly().
|
|
GetManifestResourceStream(names[i])) {
|
|
|
|
// "You must keep the stream open for the lifetime of the Image."
|
|
Image image = Image.FromStream(stream);
|
|
|
|
// so we just create a copy of the image
|
|
Bitmap bitmap = new Bitmap(image);
|
|
|
|
// and dispose it right here
|
|
image.Dispose();
|
|
|
|
return bitmap;
|
|
}
|
|
}
|
|
}
|
|
|
|
return new Bitmap(1, 1);
|
|
}
|
|
|
|
public static Icon GetIcon(string name) {
|
|
name = "OpenHardwareMonitor.Resources." + name;
|
|
|
|
string[] names =
|
|
Assembly.GetExecutingAssembly().GetManifestResourceNames();
|
|
for (int i = 0; i < names.Length; i++) {
|
|
if (names[i].Replace('\\', '.') == name) {
|
|
using (Stream stream = Assembly.GetExecutingAssembly().
|
|
GetManifestResourceStream(names[i])) {
|
|
return new Icon(stream);
|
|
}
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
}
|
|
}
|