Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PictureBox, по коорд загрузить рис. задав его размер 
:(
    Опции темы
Dan
Дата 29.7.2006, 22:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Как в PictureBox ,в программном коде загрузить оди или несколько рисунков по заданным координатам в самом PictureBox и задав размеры этих рисунков... 
PM MAIL   Вверх
cardinal
Дата 30.7.2006, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

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



Может метод: слепить из одного/нескольких рисунков один (как тебе надо), а потом его загрузить в PictureBox подойдет?
 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
BorisVorontsov
Дата 2.8.2006, 03:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


Профиль
Группа: Комодератор
Сообщений: 714
Регистрация: 3.11.2005
Где: Молдавия, г. Киши нёв

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



Используй StretchBlt и дополнительный DC (можно как PictureBox/Form, можно через CreateCompatibleDC).


--------------------
[code=cpp]
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;
[/code]
PM MAIL ICQ GTalk   Вверх
CompWorm
Дата 2.8.2006, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


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

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



Аффтор спит! но мне кажется, что ему снится примерно это
Код

'Загрузили
Picture1.Picture = LoadPicture(CommonDialog1.FileName)
'и поместили
Picture2.PaintPicture Picture1.Picture, 0, 0, 100, 100, 0, 0, 100, 100

там еще есть такая маза, что вместо 
Код

Picture1.Picture

надо писать 
Код

Picture1.Image

но не всегда smile 


--------------------
PM MAIL   Вверх
Dan
Дата 3.8.2006, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ребят, дело в том, что я хочу вывести несколько рисунков  в PictureBox, с текстом!!! Но при задании координат и размеров рисунка ничего не изменяется: рисунок остается в левом углу PictureBox-а и не меняет размеры!!! ЧТО ДЕЛАТЬ? ПОМОГИТЕ!!! smile PLEASE!!!
PM MAIL   Вверх
CompWorm
Дата 3.8.2006, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Допеределыватель
***


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

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



ну тогда я вообще не понимаю что тебе нужно!  smile 
по моему методу:
- подгружаем картинку во временный пикчер1 (у всех пикчеров
укажи авторедро=тру)
- затем при помощ паинтпикчер копируем изображение в пикчер2, 
указав позицию и размер (посмотри описание етой функции).
- далее очисти пикчер1, вновь подгрузи следующую картинку в него
и вновь скопируй в пикчер2 указав позицию (с небольшим смещением, 
что б не наложилось на первую) и размер... и так в цикле скоко хочеш!

ps а пример я писать не буду, потому что на бейцике давно не пишу и все забыл.


--------------------
PM MAIL   Вверх
JusTalionis
Дата 8.8.2006, 11:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Dan:
А зачем надо именно в один и тот же пикчер бокс? Загрузи каждый рисунок в свой собственный пикчер бокс по его размеру и без всякой рамочки (в свойствах устанавливается). И потом позиционируй эти пикчер боксы с рисунками, как тебе угодно на фоне какого-нибудь другого квадратного поля, если оно надо.
А вот смасштабировать - наверное не выйдет. Для качественного масштабирования нужно бикубическую интерполяцию применять, навряд ли VB такое делает, это ж не фотошоп!
Вариант такой: заготовить несколько копий рисунка в разных масштабах, загрузить их все каждый в свой пикчер-бокс, и сделать видимыми (Visible = True) только те, которые в данный момент нужны, и по ходу манипулировать этим свойством видимости, делая видимым то большой вариант рисунка, то маленький. Таким образом, получится как бы ступенчатое "масштабирование".

PM MAIL   Вверх
~FoX~
Дата 9.8.2006, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


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

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



Я бы сделал немного по другому
Например так
Создаем два пикчера в памяти (просто так быстрее). В X1 грузим первый рисунок, в Y1 грузим следующий.
Код

Dim X1 As New StdPicture
Dim Y1 As New StdPicture
Set X1 = LoadPicture("c:\1.bmp")
Set Y1 = LoadPicture("c:\2.bmp")

Дальше смотрим высоту/ширену Y1 и эту велечину добавляем к X1 (если надо с отступами). 
Потом берем BitBlt и копируем из Y1 в X1 с нужными координатами.

Вот ее описание
Код

Private Declare Function BitBlt Lib "gdi32" _
  (ByVal hDestDC As Long, _
   ByVal X As Long, ByVal Y As Long, _
   ByVal nWidth As Long, ByVal nHeight As Long, _
   ByVal hSrcDC As Long, ByVal xSrc As Long, ByVal ySrc As Long, _
   ByVal dwRop As Long) As Long


Потом очищаем Y1 и загружаем следующий рисунок, и понеслась все сначала.

Ну и в конце само сабой
Код

Set MyLongPictureBox.Picture = X1



Это сообщение отредактировал(а) ~FoX~ - 9.8.2006, 08:33


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Dan
Дата 9.8.2006, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо ребят!!! Вы мне очень помогли!!!!!!!!!!!!!!!!!!!!!!!!!!!!! smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


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

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


 




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


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

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