Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > FAQ

FAQ Туториалы и часто задаваемые вопросы

Ответ
 
Опции темы
Старый 04.09.2005, 23:43   #1
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Смущение

Как изготовить ленту из картинок?

Я буду опиывать этот процесс в программе Irfan View.
1) Программа проста и удобна
2) Это не очередная спец-утилита, а очень удобный и

функциональный вьювер

Если хотите - ищите свежую версию, я выложу свою - с

плагинами и языками.

Шаг 1. Запускаем программу
Шаг 2. Жмём Изображение->Создать панорамное изображение
Шаг 3. Оставляем горизонтальное направление
Шаг 4 и 5. Составляем список картинок, оперируя интуитивно

понятными батонами.
Шаг 6. Жмём Создать

Вот и всё

Приложение:
IrfanView.rar
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 04.09.2005, 23:44   #2
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
В картинках:

__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Старый 04.10.2005, 22:21   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Я предлагаю сделать все средствами Blitz'а:

;Описание: Создание анимированной картинки из отдельных кадров

Global Cmd$=Trim(Lower(CommandLine$()));Получение содержимого коммандной строки
If Not Cmd$ Then RuntimeError "Не указано имя файла!"
If Not FileType(Cmd$) Then RuntimeError "Неверно указано имя файла! Пример: 'lesson1.exe File0000.bmp'"
Global ImgType$=GetImgType$(Cmd$);Получение типа картинки (bmp, jpg или png)
If Not ImgType$ Then RuntimeError "Поддерживаются только изображения следующих типов: BMP, JPG, PNG!"
Global ImgName$=Left(Cmd$,Len(Cmd$)-8);Например: File0000.bmp => 0000.bmp = 8 символов
Global ImgIndex%=Int(Mid(Cmd$,Len(Cmd$)-7,4));Получение индекса первой картинки (для случая если индекс начинается не с нуля)
Global maxWigth#=2048 maxHeight#=2048;Максимальный размер получаемой анимированной картинки
Global tempImg=LoadImage(Cmd$)
Global ImgWigth%=ImageWidth(tempImg): ImgHeigth%=ImageHeight(tempImg);Определение размеров одного кадра
FreeImage(tempImg)
Global HMaxImg#=Floor#(maxWigth#/ImgWigth%);Определение максимального кол-ва кадров по горизонтали
Global VMaxImg#=Floor#(maxHeight#/ImgHeigth%);Определение максимального кол-ва кадров по вертикали
Global MaxImg%=HMaxImg#*VMaxImg#;Определение максимального кол-ва кадров
Global ImgCount%=TotalFrames%();Определение кол-ва кадров (по существующим файлам)
If ImgCount%>MaxImg% Then RuntimeError "Уменьшите кло-во кадров или их размер!"
Global CountRows%=Int(Ceil#((ImgCount/HMaxImg)));Определение кол-ва рядов кадров
Global AnimImgWidth%
;определение ширины картинки
If ImgCount%<HMaxImg# Then 
	AnimImgWidth% = ImgCount%*ImgWigth% 
Else 
	AnimImgWidth% = HMaxImg#*ImgWigth%
EndIf
Global AnimImg=CreateImage(AnimImgWidth%, CountRows%*ImgHeigth%); Создание временной картинки анимации
Global X%=0, Y%=0;Начальные значения смещений для рисования очередного кадра

SetBuffer ImageBuffer(AnimImg);Установка активным буфера картинки AnimImg
 
;Рисование кадров на картинке
For I%=0 To ImgCount%-1
	DrawImage(LoadImage(GetImgName$(ImgIndex%+I%)),X%,Y%)
	If (X%+ImgWigth%)>maxWigth# Then 
 X%=0
 Y%=Y%+ImgHeigth%
	Else
 X%=X%+ImgWigth%
	EndIf
Next
;SaveBuffer(ImageBuffer(AnimImg),ImgName$+".bmp");Сохранение полученной картинки
SaveImage(AnimImg,ImgName$+".bmp");Эта строка аналогична предидущей

TT$="Картинка сохранена как "+ImgName+".bmp" + Chr$(13) + "Количество кадров: " + ImgCount% + Chr$(13)
TT$=TT$ + "Размер картинки: " + ImageWidth(AnimImg) +"X"+ ImageHeight(AnimImg)
FreeImage(AnimImg); Освобождение памяти 
RuntimeError TT$
End;необязательный оператор т.к. оператор RuntimeError автоматически завершает программу

;функция проверки типа файла
Function GetImgType$(ImgFile$)
	T$=Right(ImgFile$,3)
	Select T$
	Case "bmp","jpg","png"
 Return T$
	Default
 Return ""
	End Select
End Function

;Функция рассчета кол-ва кадров 
Function TotalFrames%()
Local I%=1
Local Index%=ImgIndex%
Repeat
	I%=I%+1
	Index%=Index%+1
 If (FileType(GetImgName$(Index%))<>1) Then Return I%-1
Forever
End Function

;Функция служит для получения имени файла кадра с индексом Ind.
;Например: Ind%=15,ImgName$="file", ImgType="bmp" => GetImgName$=file0015.bmp
Function GetImgName$(Ind%)
	If (Ind < 10 And Ind >= 0) Then	Return (ImgName$+"000"+Trim(Str(Ind%))+"."+ImgType$)
	If (Ind < 100 And Ind >= 10) Then Return (ImgName$+"00"+Trim(Str(Ind%))+"."+ImgType$)
	If (Ind < 1000 And Ind >= 100) Then Return (ImgName$+"0"+Trim(Str(Ind%))+"."+ImgType$)
	If (Ind < 10000 And Ind >= 1000) Then Return (ImgName$+Trim(Str(Ind%))+"."+ImgType$)
	RuntimeError "Error"
End Function
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Способы уменьшить вес PNG-картинок Sanya MidletPascal 13 09.05.2009 14:25
Benchmark: Отрисовка картинок HolyDel Болтовня 25 25.01.2009 20:37
Коллизия картинок Petrofan 2D-программирование 4 28.10.2008 22:21
Загрузка картинок SubZer0 Программирование 4 10.08.2006 02:33


Часовой пояс GMT +4, время: 09:11.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com