powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Растянуть изображение по вертикали
10 сообщений из 10, страница 1 из 1
Растянуть изображение по вертикали
    #38966217
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.
У меня есть большой и длинный график (картинка).
Я его запихиваю в небольшой скролл и прокручиваю по горизонтали.

В некоторые моменты (когда на графике мало что видно и он "не пляшет сильно вверх-вниз") мне нужно растянуть мою картинку только по вертикали .

Как это лучше сделать?
...
Рейтинг: 0 / 0
Растянуть изображение по вертикали
    #38966571
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
То есть надо сначала растянуть картинку, а потом обрезать полотно от центра?
...
Рейтинг: 0 / 0
Растянуть изображение по вертикали
    #38966578
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Изменение размеров
13570789

Обрезка
13586866
...
Рейтинг: 0 / 0
Растянуть изображение по вертикали
    #38966736
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Cat2Изменение размеров
13570789 - не верно



Изменение размеров

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
public static Image resizeImage(Image srcImg, int widthToUse, int heightToUse)
        {
            // create the output bitmap 
            Bitmap newBitmap = new Bitmap(widthToUse, heightToUse);

            // create a Graphics object to draw into it 
            Graphics g = Graphics.FromImage(newBitmap);
            g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

            // draw it with the new size 
            g.DrawImage(srcImg, 0, 0, widthToUse, heightToUse);

            return newBitmap;
        }
...
Рейтинг: 0 / 0
Растянуть изображение по вертикали
    #38966753
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2То есть надо сначала растянуть картинку, а потом обрезать полотно от центра?

Нет.

У меня есть длинный график (6000x800)
http://en.wikipedia.org/wiki/Candlestick_chart

Я его запихиваю в горизонтальный скролл (800x800). Соответственно вижу только чуть более 10% от длинного графика каждый раз.

В определенный момент, когда я прокручиваю скролл, я должен изменить координаты, скажем, были от 0 до 10. А сделать нужно от 3 до 8. (т.к. нету свечей в промежутках 0-3 и 8-10). Соответственно свечи в данный момент прокрутке на графике должны будут увеличиться.


Есть хорошие идеи?
...
Рейтинг: 0 / 0
Растянуть изображение по вертикали
    #38966785
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Students,

Ну вот. А на рисунке в заглавном посте совсем другое.

Пока идея только такая - показывать обрезанный квадрат, а его горизонтальную координату - менять так, как надо
...
Рейтинг: 0 / 0
Растянуть изображение по вертикали
    #38966885
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет, тогда если у меня свечи от 5,1 до 5,8, то квадрат получится сильно обрезанным.

А мне нужно в этом случае как бы натянуть 5.1 на 0, а 5.8 на 10. Соответственно, свечи по вертикали будут становится длиннее.

Только у меня нет хороших идей как это сделать
...
Рейтинг: 0 / 0
Растянуть изображение по вертикали
    #38966953
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
StudentsВ определенный момент, когда я прокручиваю скролл, я должен изменить координаты, скажем, были от 0 до 10. А сделать нужно от 3 до 8. (т.к. нету свечей в промежутках 0-3 и 8-10). Соответственно свечи в данный момент прокрутке на графике должны будут увеличиться.

Ну так проверяйте пикселы на рисунке - есть ли там цвет свечей. Если нет - еще одно обрезание
...
Рейтинг: 0 / 0
Растянуть изображение по вертикали
    #38967610
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да обрезать квадрат не сложно, мне нужно по вертикали растянуть изображение, чтобы 5.1 натянулось на 0, а 5.8 натянулось на 10.
...
Рейтинг: 0 / 0
Растянуть изображение по вертикали
    #38968020
Alexey2112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, что у вас за графики, но в формах можно хостить WPF-контролы, а на WPF есть отличная штука Dynamic Data Display. Мышкой там точно можно выбирать любые границы текущего графика, а вот можно ли программно - не знаю. Но наверняка да.

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


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