From ca8dfb9735248f79e6cd8cb6e8986097c99b551d Mon Sep 17 00:00:00 2001 From: Sebastian Cabrera Date: Thu, 29 Aug 2019 02:34:50 -0400 Subject: [PATCH] Image loading part 1 --- .../bz/bronze/pixels/engine/Renderer.class | Bin 1064 -> 1500 bytes .../src/bz/bronze/pixels/engine/Renderer.java | 16 ++++++ .../bz/bronze/pixels/engine/gfx/Image.java | 51 ++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 pixels/src/bz/bronze/pixels/engine/gfx/Image.java diff --git a/pixels/bin/bz/bronze/pixels/engine/Renderer.class b/pixels/bin/bz/bronze/pixels/engine/Renderer.class index 2eb5f470f0bf8a6c6896c5e079a4570b65759dc8..0497ca37c9986487ecc804e5b0b49cddb4fa5a7a 100644 GIT binary patch delta 562 zcmYLF&rcIU6#izng?8G~P;CM!Kc+DzEeAM=8bwjTqALZA6%xD+?W9?=-EC%<3WlWd zZ`dOjLp*S8Vq&6+oVfTm_-}ZnzFh?KGBe+M^S$qTGpDKF8UE|y`%eJ(u{GdFMnC1N z;I)0A9EOpKWm(l7b2!A1fgR8~WJva;v#%J^EiFG-9oZ(Ft<+<*6!Ay#oFV^S_T+*i z-S$FFYfq=J#!%aKwemfur&^-vb-K1A1KV>&S9^Po>O2%Y-H&xdQ@XAfh&?5)8v;*A z5gc|E=UBzdEI2HNVx|7ysS#+~Z7)@K7*F~`LJv@as?!D19_^IPz*nr?c4-aCW$#g zQ40T<^ZiGlFQGsE2!k{LQ98zSY3?g-o}f5&jPWVLlP5?|7ao5`VlW_%i9589(Fx2@ z%uWu%5>jF3Zwo)9u(^puc^2ZR&vV9bCB&#*#!G{_=dMT77kSlunu hzTw3gWkzgyDRnEh%Eq$%pOt}EF>4*0bSCJo{ufJaZae@0 delta 97 zcmcb^y@G@5)W2Q(7#JAL8EiLl)i6!=VV0iU$gIrBJb5Xzw;(423j-GeHxLRj@Gz({ y@J?oA3FZ}GU}X?w;AaqEkY*5`oXC>SD+Ux12dWTbkYJFUe3eCym4ShY!3F^EG7uL4 diff --git a/pixels/src/bz/bronze/pixels/engine/Renderer.java b/pixels/src/bz/bronze/pixels/engine/Renderer.java index 0526a5e..f4a47b8 100644 --- a/pixels/src/bz/bronze/pixels/engine/Renderer.java +++ b/pixels/src/bz/bronze/pixels/engine/Renderer.java @@ -2,6 +2,8 @@ package bz.bronze.pixels.engine; import java.awt.image.DataBufferInt; +import bz.bronze.pixels.engine.gfx.Image; + public class Renderer { private int pW, pH; private int[] p; @@ -23,4 +25,18 @@ public class Renderer { p[i] = 0; } } + + public void setPixel(int x, int y, int value) { + if ((x < 0 || x >= pW || y < 0 || y >= pH) || value == 0xffff00ff) { + return; + } + } + + public void drawImage(Image image, int offX, int offY) { + for (int y = 0; y < image.getH(); y++) { + for (int x = 0; x < image.getW(); x++) { + + } + } + } } \ No newline at end of file diff --git a/pixels/src/bz/bronze/pixels/engine/gfx/Image.java b/pixels/src/bz/bronze/pixels/engine/gfx/Image.java new file mode 100644 index 0000000..d604171 --- /dev/null +++ b/pixels/src/bz/bronze/pixels/engine/gfx/Image.java @@ -0,0 +1,51 @@ +package bz.bronze.pixels.engine.gfx; + +import java.awt.image.BufferedImage; +import java.io.IOException; + +import javax.imageio.ImageIO; + +public class Image { + private int w, h; + private int[] p; + + public Image(String path) { + BufferedImage image = null; + + try { + image = ImageIO.read(Image.class.getResourceAsStream(path)); + } catch (IOException e) { + e.printStackTrace(); + } + + w = image.getWidth(); + h = image.getHeight(); + p = image.getRGB(0, 0, w, h, null, 0, w); + + image.flush(); + } + + public int getW() { + return w; + } + + public int getH() { + return h; + } + + public int[] getP() { + return p; + } + + public void setW(int w) { + this.w = w; + } + + public void setH(int h) { + this.h = h; + } + + public void setP(int[] p) { + this.p = p; + } +} \ No newline at end of file