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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Уменьшение картинки, Без изменения пропорций 
:(
    Опции темы
DenageS
Дата 18.10.2006, 12:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Я так понял что картинку надо пропускать через image (stretch) и picturebox(autosize)? Но почему-то получается совсем не так как надо... Помогите пожалуйста. Чтобы картинка уменьшалась под размер формы.
PM MAIL ICQ   Вверх
~FoX~
Дата 18.10.2006, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Ну так растяни свой пикчербокс/имедж на размер формы и все.


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


Шустрый
*


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

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



Изображение исказиться! Я не могу знать какое разрешение у изображения будет
PM MAIL ICQ   Вверх
~FoX~
Дата 19.10.2006, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Ну и кто мешает узнать?
Код

Private Sub Form_Load()
Dim x, y As Integer
Const C = 5
  
  Image1.Stretch = True
  Image1.Picture = LoadPicture("c:\1.bmp")
  
  x = Image1.Picture.Width
  y = Image1.Picture.Height
  
  Form1.Width = x / C
  Form1.Height = y / C
  
  Image1.Width = x / C
  Image1.Height = y / C
  
End Sub



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


Шустрый
*


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

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



Ого! Спасибо! Но вот только как узнать "C", на которую делится, чтобы уменьшалось до рамера формы, а не форма до размеров..
PM MAIL ICQ   Вверх
BorisVorontsov
Дата 19.10.2006, 19:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Thinker
**


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

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



Код

'в hCanvas - Form или PictureBox
Public Function CheckPictureSize(ByRef hCanvas As Object, ByVal lMaxWidth As Long, ByVal lMaxHeight As Long) As Boolean
    Dim sngAspectRatio As Single
    Dim lW As Long, lH As Long
    Dim lW2 As Long, lH2 As Long
    Dim hTemp As StdPicture
    lW = hCanvas.ScaleWidth
    lH = hCanvas.ScaleHeight
    If lW > lMaxWidth Or lH > lMaxHeight Then
        If lW > lH Then
            sngAspectRatio = lW / lH
            lW2 = lMaxWidth
            lH2 = lMaxWidth / sngAspectRatio
        Else
            sngAspectRatio = lH / lW
            lW2 = lMaxHeight / sngAspectRatio
            lH2 = lMaxHeight
        End If
        Set hTemp = hCanvas.Picture
        Set hCanvas.Picture = Nothing
        Call SetStretchBltMode(hCanvas.hdc, STRETCH_HALFTONE)
        hCanvas.PaintPicture hTemp, 0, 0, lW2, lH2
        Set hCanvas.Picture = hCanvas.Image
        CheckPictureSize = True
    Else
        CheckPictureSize = False
    End If
End Function


Это сообщение отредактировал(а) BorisVorontsov - 19.10.2006, 20:04


--------------------
[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   Вверх
DenageS
Дата 20.10.2006, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



На Call SetStretchBltMode ругается Sub или фуекция не определена. smile 
PM MAIL ICQ   Вверх
cardinal
Дата 20.10.2006, 19:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


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

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



DenageS, а объявить слабо? (см. Api Viewer)


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

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

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

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

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

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


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

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


 




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


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

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