-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMiscImage.java
More file actions
144 lines (96 loc) · 2.87 KB
/
MiscImage.java
File metadata and controls
144 lines (96 loc) · 2.87 KB
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import java.awt.geom.*;
public class MiscImage
{
protected BufferedImage img;
protected int x;
protected int xSize;
protected int y;
protected int ySize;
protected String imgPath; // This variable is really only used to be returned; constructor and setImg() all use the parameters passed in anyway
public MiscImage()
{
}
public MiscImage(int xIn, int xSizeIn, int yIn, int ySizeIn, String path)
{
try
{
img = ImageIO.read(new File(path));
}
catch(IOException ex)
{
//System.out.println("Image not found");
System.out.println(path);
//ex.printStackTrace();
}
x = xIn;
xSize = xSizeIn;
y = yIn;
ySize = ySizeIn;
imgPath = path;
}
public MiscImage(Position pos, String path)
{
try
{
img = ImageIO.read(new File(path));
}
catch(IOException ex)
{
//System.out.println("Image not found");
System.out.println(path);
//ex.printStackTrace();
}
x = 40 + pos.getX()*40;
y = 40 + pos.getY()*40;
xSize = 40;
ySize = 40;
imgPath = path;
}
public int getX(){ return x; }
public int getY(){ return y; }
public int getXSize(){ return xSize; }
public int getYSize(){ return ySize; }
public String getImg(){ return imgPath; }
public void setX(int newX){ x = newX; }
public void setY(int newY){ y = newY; }
public void setPos(Position pos) { x = 40 + pos.getX() * 40; y = 40 + pos.getY() * 40; }
public void draw(Graphics g){ g.drawImage(img, x, y, null); }
public boolean checkBounds(int xChk, int yChk)
{
boolean res = false;
if(xChk <= (x + xSize) && xChk >= x && yChk <= (y + ySize) && yChk >= y)
{
res = true;
}
return res;
}
public void rotate(Double rads)
{
//System.out.println("Rotating: " + rads + " radians.");
//System.out.println(img);
AffineTransform transform = new AffineTransform();
transform.rotate(rads, img.getWidth()/2, img.getHeight()/2);
AffineTransformOp operation = new AffineTransformOp(transform, AffineTransformOp.TYPE_BILINEAR);
img = operation.filter(img, null);
}
public void setImg(String path)
{
try
{
//System.out.println("We did it reddit");
//System.out.println(path);
img = ImageIO.read(new File(path));
imgPath = path;
}
catch(IOException ex)
{
//System.out.println("Image not found");
//System.out.println(path);
//ex.printStackTrace();
}
}
}