Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
1 / 1 / 2
Регистрация: 25.02.2014
Сообщений: 120
1

Зум изображения

17.11.2014, 20:45. Показов 3977. Ответов 3
Метки нет (Все метки)

Не срабатывает зум изображения в C#. Где ошибка?


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
29
30
31
32
33
34
35
36
37
38
39
40
41
private void ZoomFactor_clicked(object sender, System.Windows.Forms.ToolStripItemClickedEventArgs e)
{
    foreach (ToolStripMenuItem item in zoomToolStripMenuItem.DropDownItems)
    {
        item.Checked = false;
    }
    (e.ClickedItem as ToolStripMenuItem).Checked = true;
 
}
 
 
 
 
private void zoom100ToolStripMenuItem_Click(object sender, EventArgs e)
{
    ZoomImage(100);
}
 
private void zoom200ToolStripMenuItem_Click(object sender, EventArgs e)
{
    ZoomImage(200);
}
 
 
public void ZoomImage(int ZoomValue)
{
    if (original != null)
    {
        return;
    }
    else
    {
        Bitmap zoomimage;
        zoomimage = new Bitmap(original, original.Width*((ZoomValue)/100), original.Height*(ZoomValue / 100));
        Graphics converted;
        converted = Graphics.FromImage(zoomimage);
        converted.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        pictureBox1.Image = null;
        pictureBox1.Image = zoomimage;
    }
}
Фото менюшки прикрепил.
Миниатюры
Зум изображения  
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.11.2014, 20:45
Ответы с готовыми решениями:

Реализовать зум графика
программа рисует график функции, и мне нужно сделать "зоом". На сколько я понял нужно изменять эти...

Визуальное перелистывание изображения при переходе от одного изображения к другому
Здравствуйте,нужна помощь,как можно в C#,windows form создать приложение которое делает визуальное...

Как добиться качественного рисования изображения поверх изображения picturebox?
есть код: PictureBox p = (PictureBox)sender; ...

Зум изображения, Зум колесом мышки
Всем доброго времени суток. Я создал карту 10х20 кусков размером 600х1000 (всего 100 кусков) и...

3
1 / 1 / 1
Регистрация: 11.11.2014
Сообщений: 58
17.11.2014, 21:13 2
Лучший ответ Сообщение было отмечено Злой_дед как решение

Решение

Используйте лучше это...
C#
1
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
1
8680 / 4655 / 1820
Регистрация: 11.02.2013
Сообщений: 9,890
17.11.2014, 22:07 3
Лучший ответ Сообщение было отмечено Злой_дед как решение

Решение

Думаю, проблема в 27 строке. Должно быть наоборот.
C#
1
if (original == null) return;
Хотя и сам метод зумирования ты выбрал странный. Изображение само по себе размер не изменит: его нужно перерисовать с новым размером. Например, таким методом:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Image ZoomImage(Image orig, float percent) {
    Bitmap scaledImage;
    /// Ширина и высота результирующего изображения
    float w = orig.Width * percent / 100,
        h = orig.Height * percent / 100;
    scaledImage = new Bitmap((int)w, (int)h);
    /// DPI результирующего изображения
    scaledImage.SetResolution(orig.HorizontalResolution, orig.VerticalResolution);
    /// Часть исходного изображения, для которой меняем масштаб.
    /// В данном случае — всё изображение
    Rectangle src = new Rectangle(0, 0, orig.Width, orig.Height);
    /// Часть изображения, которую будем рисовать
    /// В данном случае — всё изображение
    RectangleF dest = new RectangleF(0, 0, w, h);
    /// Прорисовка с изменённым масштабом
    using (Graphics g = Graphics.FromImage(scaledImage)) {
        g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
        g.DrawImage(orig, dest, src, GraphicsUnit.Pixel);
    }
    return scaledImage;
}
Весь проект во вложении
Котик для привлечения внимания
Зум изображения


Romesfu1, это режим отображения, который никак не влияет на само изображение
Вложения
Тип файла: zip ZoomImageExample.zip (38.1 Кб, 60 просмотров)
2
1 / 1 / 2
Регистрация: 25.02.2014
Сообщений: 120
19.11.2014, 01:22  [ТС] 4
Исправил 27 строку,работает как часы,спасибо большое!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2014, 01:22

Зум изображения по клику
При клике на картинку, она должна увеличиваться: import QtQuick 2.12 import QtQuick.Window 2.12...

Как сделать зум изображения пальцами?
Есть простой блок с картинкой. Как можно реализовать изменение размера картинки пальцами? Может...

Зум(увеличение) изображения System.Drawing.Image
Как увеличить изображение System.Drawing.Image в 2 раза?

мультитач зум
накидал тут мультитач зум, но не могу разобраться, как заставить изображение в ImageView не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru