Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объединение рисунков, открыт и сохранение нескольких изображен 
:(
    Опции темы
OZZ
Дата 21.2.2008, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Доброго дня всем. Я столкнулся с такой проблемой, мне необходимо открытить несколько растровых изображений в разные PictureBox или в один (только их должно быть видно все), после чего сохранить одним рисунком. Если попросту говоря, суть задачи такова: у нас есть карта города, ее разрезали на части по А4 и отсканировали, прога должна соеденить карту обратно в одно изображение. Помогите пожалуйста!!!
PM MAIL   Вверх
tol05
Дата 21.2.2008, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 11
Всего: 170



ну так в чем проблема? Есть у тебя к примеру 4 Image (image1, image2, image3 и image4)
Если нужно их открыть в разных PictureBox - каждому PictureBox назначай свой image
Если нужно их открыть в одном PictureBox - сделай один один image...

Код

// Создаем новый image нужного размера (это будет объединенный image)
Image img = new Bitmap(300, 100);
// Делаем этот image нашим контекстом, куда будем рисовать
Graphics g = Graphics.FromImage(img);
// рисуем существующие маленькие image в созданный нами большой image
g.DrawImage(Image.FromFile("a.gif"), new Point(10, 10));
g.DrawImage(Image.FromFile("b.jpg"), new Point(70, 10));
g.DrawImage(Image.FromFile("c.jpg"), new Point(130, 10));

// Записываем обобщенный image в файл (или можно этот image назначить PictureBox... Неважно, он у нас уже есть)
img.Save("output.jpg", ImageFormat.Jpeg);



--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
OZZ
Дата 21.2.2008, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Только что был на паре и выяснилась новая проблема, это надо сделать средствами OpenGl, при помощи какого-то Tao Framework. Я просто в шоке с преподов, что сразу нельзя было сказать. Может кто нибуть подскажет как и это сделать, или ссылочки на нармальные сайты даст. Эсли это кто-то делал на других языках программирования, скажите, ведь вроде OpenGl везде одинаковый.

А tol05 - огромное спасибо, я сделал все работает и тут те на облом.
PM MAIL   Вверх
tol05
Дата 21.2.2008, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 11
Всего: 170



OZZ, не за что. smile
Попробуй задать свой вопрос на этом подфоруме. Можешь и мой код туда забросить, может кто и переделает тебе под OpenGL...


Это сообщение отредактировал(а) tol05 - 21.2.2008, 18:04


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
OZZ
Дата 24.2.2008, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 9.5.2007

Репутация: нет
Всего: нет



Всем привет. Кто знает как автоматически создавать на форме pictureBox, причем в нужном месте формы. Ну например мне по выше заданному вопросу про объединение какртинок нужно задать как бы матрицу состоящую из картинок, но каждый элемент этой матрицы должен соответствовать определенному pictureBox'y и вот вопрос как зная число столбцов и сторок создать нужное колличество pictureBox'ов в нужном для меня месте?
Если к коду кто-то добавит и проект реализующий это хоть в самом примитивном виде - цены ему не будет. 
PM MAIL   Вверх
Unsane
Дата 24.2.2008, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 8.6.2007

Репутация: 2
Всего: 5



Создаешь матрицу 
Код

imageMatrix = new Image[nRow, nCol];
// nRow - количество строк
// nCol - количество столбцов

и забиваешь ее изображениями. А потом:
Код

        void ShowImage()
        {
            int pbWidth = 30, pbHeight = 30; // ширина и высота пикчербоксов
            int width = 0, height = 0;
            for (int i = 0; i < imageMatrix.GetLength(0); i++)
            {
                width = 0;
                for (int j = 0; j < imageMatrix.GetLength(1); j++)
                {
                    PictureBox myPB = new PictureBox();
                    myPB.Left = width;
                    myPB.Top = height;
                    myPB.Height = myWidth;
                    width += myPB.Width = pbWidth;
                    myPB.Image = imageMatrix[i,j];
                    myPB.SizeMode = PictureBoxSizeMode.StretchImage;
                    myPB.BorderStyle = BorderStyle.None;
                    this.Controls.Add(myPB);
                }
                height += pbHeight;
            }
        }


Это сообщение отредактировал(а) Unsane - 24.2.2008, 15:06
--------------------
Я дурак.. Этим и интересен!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.1729 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.