Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/29: Рейтинг темы: голосов - 29, средняя оценка - 4.69
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126

Размер картинки

28.08.2011, 00:13. Показов 5658. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Появилась странная проблемка, подскажите, пожалуйста, что такое.
Создаю я себе новый TImage
C++
1
TImage* Source= new TImage(this);
Все нормально, создается, загружаю туда картинку
C++
1
Source->Picture->LoadFromFile("1.bmp");
А потом мне нужно узнать размеры картинки. Как-то по логике делаю вот так:
C++
1
int iSourceSize = Source->Width;
Но в переменную почему-то каждый раз пишется 105. Вне зависимости от размера картинки (которая, кстати, 10х10 пикселей)
Подскажите решение, думаю, здесь просто незнание языка.
Спасибо.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.08.2011, 00:13
Ответы с готовыми решениями:

Размер картинки PNG не изменяется
Image1->Picture->LoadFromFile("Images/243.png"); Image1->Left=200; Image1->Top=0; Image1->Height +=200; Image1->Width +=200; ...

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

Автоматически изменять размер объектов Image под размер формы
Как сделать чтобы после запуска программы в C++ Builder можно было изменить размер формы, и размер объектов Image автоматически изменялся...

9
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
28.08.2011, 00:34
А так?

C++
1
Image1->Picture->Width;
2
 Аватар для Infinity3000
1066 / 583 / 87
Регистрация: 03.12.2009
Сообщений: 1,255
28.08.2011, 00:40
Попробуй вначале подогнать Image по размерам картинки то есть

C++
1
Source->AutoSize = true;
Добавлено через 1 минуту
Примерно так!

C++
1
2
3
4
5
TImage* Source= new TImage(this);
Source->Picture->LoadFromFile("1.bmp");
Source->AutoSize = true;
int iSourceSize = Source->Width;
Edit1->Text = IntToStr(iSourceSize);
2
9 / 9 / 0
Регистрация: 14.02.2010
Сообщений: 126
28.08.2011, 00:53  [ТС]
Вот, отлично, всем спасибо, тема закрыта.
Так и знал, что что-то легкое.. Эх)
0
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
16.01.2019, 17:04
Infinity3000,

C++
1
2
3
4
5
TImage* Source= new TImage(this);
Source->Picture->LoadFromFile("1.bmp");
Source->AutoSize = true;
int iSourceSize = Source->Width;
Edit1->Text = IntToStr(iSourceSize);
подскажите, а как вывести высоту картинки в Edit2?
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
16.01.2019, 17:16
Цитата Сообщение от Muriam Посмотреть сообщение
как вывести высоту картинки в Edit2?
C++
1
2
3
4
5
6
     TImage* Source= new TImage(this);
     Source->Picture->LoadFromFile("1.bmp");
     Source->AutoSize = true;
     int iSourceSize = Source->Width;
     Edit1->Text = IntToStr(iSourceSize);
     Edit2->Text = Source->Height;
0
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
16.01.2019, 17:32
nick42,
а если вот так?

C++
1
2
3
4
5
6
7
8
        TImage* Source= new TImage(this);
        Source->Picture->LoadFromFile("gvozdika_new.bmp");
        Source->AutoSize = true;
        int iSourceSize = Source->Width;
        Edit1->Text = IntToStr(iSourceSize);
       
        int iSourceSize2 = Source->Height;
        Edit2->Text = IntToStr(iSourceSize2)
Добавлено через 1 минуту
nick42, подскажите пожалуйста, как вывести в Edit3 число битов в пикселе? У меня должно быть 24.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33377 / 21501 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
16.01.2019, 17:50
Цитата Сообщение от Muriam Посмотреть сообщение
а если вот так?
Именно так и нужно. Не надо полагаться на автоматические конвертации типов.

Цитата Сообщение от Muriam Посмотреть сообщение
как вывести в Edit3 число битов в пикселе?
Можно попробовать (я не уверен что отработает) вот так:

C++
1
2
String bpp[9] = {"DIB", "1 bit", "4 bit", "8 bit", "15 bit", "16 bit", "24 bit", "32 bit", "N/A"};
Edit3->Text = bpp[(int)(Source->Picture->Bitmap->PixelFormat)];
2
0 / 0 / 1
Регистрация: 11.02.2018
Сообщений: 133
16.01.2019, 19:50
volvo, спасибо большое, это работает.

Добавлено через 34 минуты
а 15 бит тоже может быть?
что такое "DIB"?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33377 / 21501 / 8236
Регистрация: 22.10.2011
Сообщений: 36,896
Записей в блоге: 11
16.01.2019, 20:09
Цитата Сообщение от Muriam Посмотреть сообщение
а 15 бит тоже может быть?
Может. Вот таблица возможных значений свойства PixelFormat, с пояснениями: TPixelFormat
Цитата Сообщение от Muriam Посмотреть сообщение
что такое "DIB"?
Это опечатка, должно быть DBB, то есть Device Dependent Bitmap
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.01.2019, 20:09
Помогаю со студенческими работами здесь

MediaPlayer: подстроить размер видео под размер панели
Привет всем, у меня возникла парочка вопросов по настройке компонента MediaPlayer: Во первых как сделать так чтоб видео подстроилось...

Изменять размер панели под размер причаливаемых окон
Имеется панель, которая выравнена относительно главного окна как alLeft. На панель причаливаются и отчаливаются другие окна фиксированного...

Записываю в таблицу картинки из Img контрола, как узнать размер картинки?
Заполняю в цикле Img контейнер картинками из shape группы из эксела. Картинки могут быть реальными фотографиями, а могут оказаться...

Размер картинки больше чем размер шапки
Всем привет!ребята,у меня размер картинки больше чем высота шапки.как мне сделать так чтобы изображение отображалось полностью? т.е как...

Подогнать размер картинки под размер формы
Здравствуйте! Я накладываю изображение на форму, но я столкнулся с проблемой. Мой код:this.BackgroundImage = new...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru