C # .NET динамическая библиотека изображений? - PullRequest
1 голос
/ 20 июля 2011

Привет! Я хочу создать изображение динамически из массива [500] [500] (500x500pixel) Каждый элемент массива имеет данные цвета пикселя,

Кто-нибудь знает, какая библиотека / интерфейс .NET подойдет для этого? Мог бы указать мне правильное направление? Мне нужно создать / сохранить файл.

Кроме того, изображение представляет собой совокупность данных из многих изображений, мне интересно, возможно ли использовать различные форматы, или мне нужно сначала преобразовать маленькие изображения в один формат,

Кроме того, какой формат изображения лучше всего использовать (самый совместимый?) JPG / PNG24? (для сети)

Спасибо за ваш вклад!

Ответы [ 3 ]

2 голосов
/ 20 июля 2011

если вы можете использовать небезопасный код на своем веб-сайте (другими словами, ваш код работает с полным доверием), просто используйте класс Bitmap и метод LockBits, тогда вы можете использовать указатели, как в C ++, для доступа к пикселям (совет: создайте структуру Pixel для хранения значений RGB). Вы увидите методы GetPixel и SetPixel, НИКОГДА не используйте их. Производительность ужасна, более чем в 100 раз медленнее , чем при использовании указателей. Просто наберите BitmapData.Scan0.ToPointer(), а затем повторите с for.

1 голос
/ 20 июля 2011

Вы можете использовать класс System.Drawing. Bitmap .

Если вы можете использовать небезопасный код, создайте растровое изображение, используя указатели и BitmapData вместо SetPixel

var bitmap = new Bitmap(500, 500);

// Update the pixels with values in you array...

bitmap.Save("myfilename.jpg", ImageFormat.Jpeg);
0 голосов
/ 20 июля 2011

Формат зависит от того, что вам нужно (например, png может поддерживать прозрачность, jpg - нет).

Вы можете начать с System.Drawing.Bitmap.

...