Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как увеличить изображение, но оставить физические размеры картинки прежними? / 9 сообщений из 9, страница 1 из 1
24.11.2014, 16:15
    #38815313
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как увеличить изображение, но оставить физические размеры картинки прежними?
Это выглядит не как увеличение, а как приближение изображения.
Как такое сделать?
...
Рейтинг: 0 / 0
24.11.2014, 16:52
    #38815365
Eolt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как увеличить изображение, но оставить физические размеры картинки прежними?
Чтобы было понятней, вот так это выглядит :
...
Рейтинг: 0 / 0
24.11.2014, 18:47
    #38815491
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как увеличить изображение, но оставить физические размеры картинки прежними?
Eolt,

по ссылке - анимированный gif, анимированный gif или png и положите
...
Рейтинг: 0 / 0
24.11.2014, 22:27
    #38815624
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как увеличить изображение, но оставить физические размеры картинки прежними?
Eolt,

увеличиваем и сдвигаем пропорционально половине увеличения.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
public Form1()
{
    //InitializeComponent();

    this.Size = new Size(800, 600);

    Bitmap originalBmp = new Bitmap("neko.jpg");
    Bitmap bmp = new Bitmap(originalBmp, originalBmp.Width, originalBmp.Height);

    Panel panel = new Panel { Width = 400, Height = 300, Parent = this };

    int x = (panel.Width - originalBmp.Width) / 2;
    int y = (panel.Height - originalBmp.Height) / 2;
    const int delta = 10;

    panel.Paint += (o, e) =>
    {
        e.Graphics.DrawImage(bmp, x, y);
    };

    this.MouseDown += (o, e) =>
    {
        bmp = new Bitmap(originalBmp, bmp.Width + delta, bmp.Height + delta);
        x -= delta / 2;
        y -= delta / 2;
        panel.Invalidate();
    };
}
...
Рейтинг: 0 / 0
24.11.2014, 22:53
    #38815636
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как увеличить изображение, но оставить физические размеры картинки прежними?
petalvik,

бр-р-р, извращение какое-то

Код: c#
1.
2.
3.
4.
5.
6.
public void DrawImage(
	Image image,
	RectangleF destRect,
	RectangleF srcRect,
	GraphicsUnit srcUnit
)


и никакого клонирования исходной картинки
...
Рейтинг: 0 / 0
24.11.2014, 23:02
    #38815643
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как увеличить изображение, но оставить физические размеры картинки прежними?
Изопропил,

полностью согласен, что так лучше.
Но вдруг автору нужна увеличенная картинка ещё для каких целей.
...
Рейтинг: 0 / 0
24.11.2014, 23:09
    #38815646
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как увеличить изображение, но оставить физические размеры картинки прежними?
petalvikНо вдруг автору нужна увеличенная картинка ещё для каких целей.
мне показалось, что топикстартер таймером или мышой масштабировать собрался
...
Рейтинг: 0 / 0
24.11.2014, 23:45
    #38815660
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как увеличить изображение, но оставить физические размеры картинки прежними?
Изопропил,

блин, ну дай мне отступить без позора...
...
Рейтинг: 0 / 0
24.11.2014, 23:50
    #38815667
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как увеличить изображение, но оставить физические размеры картинки прежними?
petalvik,

ну чтоб красиво ездило - Direct3D рисовать должно
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как увеличить изображение, но оставить физические размеры картинки прежними? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]