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

Смена изображений и добавление текста

12.06.2015, 14:34. Показов 1575. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет. Делаю последовательное замену фотографий в TImage потом на одном из изображений хочу добавить текст. и появляется ошибка:
C++
1
Can only modify an image if it contains a bitmap
.
Код смены фотографий:
C++
1
2
3
4
5
6
7
8
9
    if(FileExists(PathList->Strings[Pos])){
        NoImage->Visible=false;
        Image1->Picture->LoadFromFile(PathList->Strings[Pos]);
        this->Caption="Изображение: "+ PathList->Strings[Pos];
    }else{
        Image1->Picture=NULL;
        NoImage->Visible=true;
        this->Caption="Изображение: НЕ найдено";
    }
Код добавления текста:
C++
1
2
3
4
5
6
7
8
9
double fact1 = (double)Image1->Picture->Height /(double)Image1->Height;
        double fact2 = (double)Image1->Picture->Width / (double)Image1->Width;
        if (fact2 < fact1) fact1 = fact2;
        int X1 = X*fact2;
        int Y1 = Y*fact2;
        Image1->Canvas->Font = FontDialog1->Font;
        Image1->Canvas->Brush->Style=bsClear;
        Image1->Canvas->TextOutW(X1,Y1,TextEdit->Text);
        AddText= false;
На первом рисунке все успешно добавляется без ошибок.Но если выбрать другое изображение то вылазит ошибка.
Подскажите что не учел?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.06.2015, 14:34
Ответы с готовыми решениями:

Смена изображений при обновлении страницы. Адаптивность изображений
Здравствуйте! Нашел скрипт, который изменяет изображение при обновлении страницы, он меня устраивает, но не могу понять, каким образом в...

смена изображений
&lt;MAP NAME=&quot;map1&quot;&gt; &lt;AREA href=&quot;#&quot;...

Смена изображений
Доброе утро.Всех с праздником!!Можно ли сделать в HTML5 переключение между картинками.Такие переключения очень часто используют в настоящее...

3
308 / 61 / 12
Регистрация: 21.12.2011
Сообщений: 290
13.06.2015, 05:37
Не может изменить изображение, так как содержится битмап.
Code
1
Can only modify an image if it contains a bitmap
Нужно очищать битмап перед загрузкой просто.
C++
1
2
Image1->Bitmap = NULL; // Или так
Image1->Bitmap->Clear(0); // Или так
Первый способ вроде должен помочь. Точно уже не помню.
Может быть Picture, а не Bitmap, ибо так в Builder XE
0
0 / 0 / 1
Регистрация: 17.04.2010
Сообщений: 105
13.06.2015, 06:48  [ТС]
Добавил в начале функции подстановка изображений:
C++
1
2
Image1->Picture->Bitmap=NULL;
    Image1->Picture=NULL;
Не помогло. Такая же ошибка.
Пишу программу на RAd Studio XE4.
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33376 / 21500 / 8236
Регистрация: 22.10.2011
Сообщений: 36,895
Записей в блоге: 11
13.06.2015, 08:04
C++
1
2
3
4
5
6
7
8
9
        int X1 = X*fact2;
        int Y1 = Y*fact2;
        Graphics::TBitmap *bm = new Graphics::TBitmap;
        bm->Assign(Image1->Picture->Graphic);
        bm->Canvas->Font = FontDialog1->Font;
        bm->Canvas->Brush->Style=bsClear;
        bm->Canvas->TextOutW(X1,Y1,Edit5->Text);
        Image1->Picture->Assign(bm);
        delete bm;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.06.2015, 08:04
Помогаю со студенческими работами здесь

смена изображений
Всем привет!!! У меня вот какая проблема: я записал в компонент Image картинку (будем называть её 1). Затем поставил событие...

Смена изображений
Хотел сделать аналог фотоальбома, чтобы при нажатии на маленькую картинку у меня отображалась большая. Для теста решил просто первую...

Смена изображений по щелчку
Имеется анимация из десяти картинок. Их смена полностью зациклена, но мне нужно, чтобы цикл начинался после нажатия на кнопку и...

Не работает смена изображений
Здравствуйте, есть такой скрипт $(window).load(function() { $(&quot;#slider1&quot;).responsiveSlides({ auto: true, ...

Смена изображений в BitBtn
Здравствуйте, у меня такая проблема: При изменении изображения в BitBtn на следующий заход в 100 dt оно не меняется, а остается прежним....


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru