-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.cpp
66 lines (45 loc) · 1.67 KB
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include "Image.h"
#include "Texture.h"
void CopyImage(const Image& img){
}
int main() {
Image imgScreen;
//Aquí la imagen debería ser más grande
// la imagen de la pantalla, si no está eso, hay erro por eso le
//le puse que sea 2000
imgScreen.create(1920, 1080, 24);
imgScreen.clearColor({ 0,0,255,0 });
Image img;
img.decode("Untitled.bmp");
//img.setPixel(0, 0, { 255,255,0,255 });
//bit bleet cuando juntas dos imágenes
Color colorKey = { 255,0,255,255 };
for (int y = 0; y < (imgScreen.getHeight() / img.getHeight()) + 1; y++)
{
for (int x = 0; x < (imgScreen.getWidth() / img.getWidth()) + 1; x++)
{
imgScreen.bitBlt(img, img.getWidth() * x, img.getHeight()*y);
}
}
Image imgPlayer;
imgPlayer.decode("Player.bmp");
Texture playerTexture;
playerTexture.createImage(imgPlayer);
//playerTexture.draw(imgScreen,0,0,0,0,0,0,TEXTURE_ADDRESS::CLAMP,BLEND_MODE::ADDITIVE);
//imgScreen.bitBlt(img,0,0,100,100,250,250,&colorKey);
for (int y = 0; y < imgScreen.getHeight(); ++y)
{
for (int x = 0; x < imgScreen.getWidth(); x++)
{
float u = static_cast<float>(x) / (imgScreen.getWidth() - 1);
float v = static_cast<float>(y) / (imgScreen.getHeight() - 1);
imgScreen.setPixel(x,y, playerTexture.sample(u * 8.0f,v * 8.0f,TEXTURE_ADDRESS::WRAP, SAMPLER_FILTER::POINT).toColor());
}
}
imgScreen.line(0, 0, imgScreen.getWidth()-1, imgScreen.getHeight()-1, {255,0,23,255});
imgScreen.line(0, 0, imgScreen.getWidth() >> 1, imgScreen.getHeight() - 1, { 255,255,23,255 });
imgScreen.line(0, 0, imgScreen.getWidth() >> 2, imgScreen.getHeight() - 1, { 255,255,23,255 });
imgScreen.encode("TestImageScreen.bmp");
return 0;
}