/ / Cocos2D-X: зміна розміру зображення, а потім різання частин на CCSprite - андроїд, ios, xcode, зміна розмірів зображення, cocos2d-x

Cocos2D-X: зміна розміру зображення, а потім деталі різання на CCSprite - android, ios, xcode, зміна розміру зображення, cocos2d-x

Я створюю проект Cocos2D-X під XCode для iOS. Тоді я планую передати остаточний код на Android.

Що я хотів би зробити, це зробити функцію для завантаженнязображення і змінювати їх довільно в пам'яті. Потім, зі зміни розміру зображення я вирізаю частини з неї і буду створювати об'єкти CCSprite ... Справжньою проблемою, яку я маю, є отримання розміру зображення перед різанням деталей.

Я знаю, що какао / UIImage може досягти цього, але я не "т" не використовувати код Objective-C, так що порт Android буде простіше. Я хочу зробити все, що в C ++ / Cocos2D-X, якщо це можливо.

Я намагався використати вихідний код ImageMagick Magick ++ в моєму проекті XCode, але без успіху, тому що я не можу його скомпілювати. Я намагався використовувати CCImage, але в ньому немає функції зміни розміру.

Так що моє питання: чи є спосіб зробити зміну розміру файлів зображень в Cocos2DX? Чи існує альтернативний спосіб досягнення мети?

Дякуємо, Жан

Відповіді:

0 для відповіді № 1

Чи є це повторюваним / розрізаним процес вашої програми, або це спроба підігнати графіку додатків до ряду дозволів екрану Android? Якщо останній випадок, я б не рекомендував.

Ви повинні зрозуміти, що зміна розмірів і різанняможе бути зроблено в будь-якому порядку. Отже, вам не потрібно спочатку змінювати розмір зображення, ви також можете в першу чергу вирізати його і змінити його розмір.

Що стосується різання зображення, це дійсно залежить від того, як ви хочете вирізати його. Існує багато способів, як можна вирізати частини зображення (вирізати по кордонах, вирізати довільну форму, вирізати прозорість і т.д.)


0 для відповіді № 2

Щоб створити спрайт, який є витягом растрового зображення, ви можете зробити це так, щоб уникнути створення нових растрових зображень (не впевнені, що це те, що ви шукаєте):

CCSprite * cutSprite = CCSprite :: spriteWithTexture (текстура, CCRectMake (originX, originY, ширина, висота));