перекрывающиеся изображения с использованием GDI +

2

Я пытаюсь написать webApplication, который содержит два png-изображения - большой и меньший, Мне нужно использовать большую в качестве базы и размещать на ней меньшую по отдельности, а меньшая - прозрачные области, поэтому она добавляет информацию к базовому изображению.

Я использую GDI + с С#, но мне удалось загрузить только одно изображение (базовое), используя следующий код: Bitmap objImage = новый битмап ( "basePngPicturePath" ); objImage.Save(Response.OutputStream, ImageFormat.Jpeg); objImage.Dispose();

Я мог бы использовать две фотографии - он не работает... и это был единственный способ, которым мне удалось загрузить изображение. ПОМОГИ ПОЖАЛУЙСТА!!! Мне действительно нужно это работать...

Теги:
gdi+

1 ответ

5

Вы можете нарисовать меньшее изображение на более крупном, прежде чем страница будет визуализирована, с кодом примерно так:

Bitmap objImage = new Bitmap("basePngPicturePath");
Bitmap objSmallImage = new Bitmap("smallPngPicturePath");
using (Graphics g = Graphics.FromImage(objImage))
{
    g.DrawImage(...); // there are 30-some overloads of DrawImage, but 
        // basically you use objSmallImage as the source, 
        // plus various ways of telling the method
        // where to draw the smaller image.
}
objImage.Save(Response.OutputStream, ImageFormat.Jpeg);
objImage.Dispose();
objSmallImage.Dispose();
  • 0
    Обязательное замечание о необходимости обрабатывать objSmallImage и objImage с помощью использования блоков . Особенно в веб-приложении. +1 для остальных.
  • 0
    Привет, спасибо за быстрый ответ, я попробовал твой код, но он нарисовал только меньшую картинку. Я даже пытался добавить линию перед линией, которая рисует маленькую картинку, другую, которая рисует базовую, но она все еще показывает только маленькую картинку. (Я использовал g.DrawImage (objSmallImage, новая точка (10,10);
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню