Объявление:
1 2 |
sf::Image image; image.loadFromFile("images/image1.png"); |
1. Ширина и высота картинки
1 2 |
cout << "width = " << image.getSize().x << endl; cout << "height = " << image.getSize().y << endl; |
2. Сохранение картинки:
1 |
image.saveToFile("images/tileset/1.png"); |
Подробности:
+ Если указать папку(images/) или подпапку(images/tileset/), то картинка будет сохранена в него.
? Если в папке уже есть картинка с таким именем, то она перезаписывается.
– Если папки не существует, картинка не сохранится.
3. Переворот по вертикали или горизонтали
1 2 |
image.flipHorizontally(); image.flipVertically(); |
Подробности:
+ flipHorizontally() поворачивает картинку слева направо, flipVertically() – с ног на голову
? Если сначала залить картинку в texture а потом в sprite, и после этого применить поворот, то картинка в повороте не будет изменена. надо перезагружать.
4. create (создание)
1 |
image.create(10,10, sf::Color(100,100,100,100)); |
Подробности:
+ создаёт картинку размером 10 на 10, заданного цвета
5. createMaskFromColor (Создаёт прозрачность для данного цвета)
1 |
image.createMaskFromColor(sf::Color(0,0,0,255), 0); |
Подробности:
+ ищет на картинке все пиксели заданного цвета и задаёт им прозрачность
6. setPixel и getPixel
1 2 |
image.setPixel(2,1,sf::Color(1,1,1,255)); sf::Color color = image.getPixel(2,1); |
Подробности:
setPixel – заменяет пиксель с координатами X(2) и Y(1) на пиксель цвета sf::Color
getPixel – забирает в color цвет пикселя с координатами X(2) и Y(1)
7. copy (копирование)
1 2 3 4 5 |
sf::Image image1; image1.loadFromFile("images/2.png"); sf::Image image2; image2.loadFromFile("images/2.png"); image1.copy(image2,42,42,sf::IntRect(20,0,40,60)); image1.saveToFile("images/saveImage1.png"); image2.saveToFile("images/saveImage2.png"); |
Подробности:
копирует из image2 квадрат пикселей (x: от 20 до 40, y: от 0 до 60) и вставляет его в image1 со сдвигом по x(42) и y(42)
От 11.10.2016 – sf::Image image в которое вы копируете, должно быть обязательно задано через loadFromFile(…), либо через create(w,h).