Сохранить изображение из растрового изображения в JPEG без сохранения файла - PullRequest
0 голосов
/ 03 мая 2011

У меня проблема с тем, что мне нужно иметь изображение в формате JPEG с dpi 500, сначала оно пришло из base64. Я мог преобразовать его непосредственно в формат JPEG, но я не знаю , как установить dpi для system.drawing.image

У меня есть решение, чтобы получить изображение как растровое изображение, а затем использовать функцию setresolution, чтобы сбросить его до 500 * 500, и это то, что мне нужно, но чтобы снова преобразовать растровое изображение в JPEG, его нужно сохранить на физическом диске, а также я не мог этого сделать

так что мне просто нужно перейти из изображения или растрового изображения в формат JPEG с разрешением 500 * 500, на самом деле я также буду читать его снова в массив байтов, но мне нужен этот массив из изображения JPEG с разрешением 500 * 500 точек на дюйм и преобразованного изображения из base64 не 500 * 500 точек на дюйм

любая идея будет оценена по достоинству

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Кажется, у вас есть какое-то недопонимание, что означает dpi. 500 означает, что каждый дюйм объекта на изображении представлен с использованием 500 пикселей. Таким образом, dpi на самом деле не является характеристикой абстрактного изображения. Это характеристика того, как реальный объект представлен изображением. Это означает, что вам вообще не нужно менять разрешение изображения.

1 голос
/ 03 мая 2011

Класс Image является абстрактным, поэтому у вас не может быть экземпляра этого класса.На самом деле у вас есть экземпляр класса Bitmap, но ссылка на него с типом Image.

Итак, вам просто нужно привести ссылку на фактический класс объекта, иВы можете получить доступ к его методам:

((Bitmap)theImage).SetResolution(500, 500);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...