Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2007, 19:49   #1
Yogurt
Пользователь
 
Аватар для Yogurt
 
Регистрация: 22.01.2007
Сообщений: 25
Вопрос Как работать с графикой?

Во время разработки сколько-нибуди стоящей игрушки я столкнулся с проблемой. Мне надо время от времени менять изображение какого-либо объекта, например повернуть его, анимировать и т. д.. Объекты я сделал наследниками класса TImage. И вот когда я делаю так:

...
var Img:TBitMap;
...
Image1.Picture.BitMap:=Img;
...

у меня васкакивает жуткое сообщение "...Access violation at address 00451AC9 in module..." . Что мне делать если всё-таки надо изменить изображение. Возможно, мне надо ипользовать не TImage, а что-то другое?
Yogurt вне форума Ответить с цитированием
Старый 21.04.2007, 09:10   #2
Yogurt
Пользователь
 
Аватар для Yogurt
 
Регистрация: 22.01.2007
Сообщений: 25
По умолчанию

Врядли я его инициализировал, честно говоря я даже не знаю что это такое. Не мог бы ты поподробнее об этом рассказать.
Yogurt вне форума Ответить с цитированием
Старый 21.04.2007, 11:43   #3
execom
Редкий тунеядец
Форумчанин
 
Аватар для execom
 
Регистрация: 29.10.2006
Сообщений: 595
По умолчанию

Чему у тебя равен Img? Если чему-то неважненькому то ошибка неизбежна!
execom вне форума Ответить с цитированием
Старый 21.04.2007, 13:54   #4
Yogurt
Пользователь
 
Аватар для Yogurt
 
Регистрация: 22.01.2007
Сообщений: 25
По умолчанию

Ну вообще у меня перед оператором присваивания стоит строчка:

Img.LoadFromFile(FileName);

Т.е. в переменную загружено изображение формата .bmp, но ошибка всё-равно выскакивает.
Yogurt вне форума Ответить с цитированием
Старый 22.04.2007, 13:41   #5
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

Посмотрел свой аналогичный случай. Это делается немного по-другому.

Image1.Picture.Graphic:=Img;
SteelRat вне форума Ответить с цитированием
Старый 22.04.2007, 17:18   #6
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Yogurt Посмотреть сообщение
Врядли я его инициализировал, честно говоря я даже не знаю что это такое. Не мог бы ты поподробнее об этом рассказать.
инициализация это создание объекта
должны быть строчки такого типа

img:=TImage.create;
rpy3uH вне форума Ответить с цитированием
Старый 22.04.2007, 18:29   #7
SteelRat
Брэйнфакер Про
Пользователь
 
Аватар для SteelRat
 
Регистрация: 21.02.2007
Сообщений: 51
По умолчанию

А Img у тебя инициализирован? Ты вместо многоточий код свой вверни. В том, что ты написал ошибки нет.

Последний раз редактировалось execom; 23.04.2007 в 07:17. Причина: Нада!!!
SteelRat вне форума Ответить с цитированием
Старый 27.04.2007, 23:33   #8
itisiam
аккаунт недоступен
Форумчанин
 
Регистрация: 23.01.2007
Сообщений: 107
Сообщение

Я изображения с файла так гружу:
Код:
Image1.Picture.LoadFromFile('Kar1_Scin.bmp');
где Kar1_Skin.bmp имя графического файла и все хорошо
Зачем 2 строчки-то?
ввел пароль, который мне не известен
itisiam вне форума Ответить с цитированием
Старый 29.04.2007, 07:12   #9
Yogurt
Пользователь
 
Аватар для Yogurt
 
Регистрация: 22.01.2007
Сообщений: 25
По умолчанию

Вот я выложил свой тренировочный проэкт. Там есть много ошибок, которые надо исправить. В процедуре FormPaint содержатся такие строчки:

procedure TForm1.FormPaint(Sender: TObject);
var
Buckup:TBitMap;
begin
ClipBoard.Assign(Image1.Picture.Bit map);
Image1.Picture.Bitmap.Assign(ClipBo ard);
end;

Если вместо ClipBoard поставить переменную Buckup, то происходит то, о чём я говорил в самом начале. Мне также не нравится то, что когда я включаю в код эту процедуру FormPaint, то избражение начинает мерцать при движении, и Label2 (должен меняться со временем) меняется только когда его вывести и зоны видимости экрана. Да и вообще все объекты на форме не всегда прорисовываются, когда должны.


Цитата:
Сообщение от itisiam Посмотреть сообщение
Я изображения с файла так гружу:
Код:
Image1.Picture.LoadFromFile('Kar1_Scin.bmp');
где Kar1_Skin.bmp имя графического файла и все хорошо
Зачем 2 строчки-то?
Это конечно хорошо, если требуется загрузить одну картинку. Но мне надо сначала загрузить 16 картинок в оперативную память и потом спокойно с ними работать (таким образом я расчитывал сделать анимацию).
Вложения
Тип файла: rar Canvas.rar (196.3 Кб, 20 просмотров)

Последний раз редактировалось Yogurt; 29.04.2007 в 07:18.
Yogurt вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
help с графикой SYL@R Помощь студентам 3 07.07.2008 08:11
ПРоблемы с графикой HELP!!! ANARHIST Помощь студентам 2 03.07.2008 09:04
Помогите с графикой tagjik Помощь студентам 4 03.06.2008 08:05
проблемы с графикой joker Win Api 9 01.12.2007 18:32