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

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

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

Ответ
 
Опции темы
Старый 25.10.2010, 01:52   #1
IgorOK
Мастер
 
Аватар для IgorOK
 
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений
(для 2,209 пользователей)
Копирование области большого изображения

Возникла необходимость скопировать часть изображения из уже загруженного большого изображения 2900х2900. Не могу понять что не так. Pixmap почему-то никак не копируется.

Graphics 640, 480, 0

Local Directory:String=RequestDir("Выберите папку для обработки")

Print Directory

Local Dir:String[]=LoadDir(Directory)

If Dir.Length=0 Then End

Local CropTop=Int(Input("top %: "))
Local CropBottom=Int(Input("bottom %: "))

For Index=0 To Dir.Length-1
	Local Path:String=Directory+"/"+Dir[Index]
	
	If FileType(Path)=FILETYPE_FILE
		If Lower(ExtractExt(Path))="jpg"

			Local Image:TImage=LoadImage(Path)
			Local W=ImageWidth(Image)
			Local H=ImageHeight(Image)
			
			Local CropTopOffset=H/100*CropTop
			Local CropBottomOffset=H/100*CropBottom
			Local DstImage:TImage=CreateImage(W, H-CropTopOffset-CropBottomOffset)
			
			LockImage DstImage
				DrawImage(Image, 0, -CropTopOffset)
				Pixmap:TPixmap=GrabPixmap(0, CropTopOffset, W, H-CropBottomOffset)
			UnlockImage DstImage
			
			SavePixmapJPeg(Pixmap, Directory+"/cc_"+Dir[Index], 80)
		EndIf
	EndIf
Next
(Offline)
 
Ответить с цитированием
Старый 25.10.2010, 02:18   #2
SBJoker
Злобный Админ
 
Аватар для SBJoker
 
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений
(для 9,330 пользователей)
Ответ: Копирование области большого изображения

Не майся хренью юзай
Pixmap.Window и Pixmap.Paste
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
IgorOK (25.10.2010)
Старый 25.10.2010, 10:57   #3
IgorOK
Мастер
 
Аватар для IgorOK
 
Регистрация: 26.10.2009
Сообщений: 1,194
Написано 615 полезных сообщений
(для 2,209 пользователей)
Ответ: Копирование области большого изображения

Спасибо!)

В данном случае флага полезности недостаточно) Ты не представляешь как ты меня выручил)))
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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