mirror of
https://github.com/zDevelopers/ImageOnMap.git
synced 2025-02-27 08:41:51 +01:00
Amelioration de l'algo de découpe des images
This commit is contained in:
parent
09608e5bf5
commit
111d4ebc0b
@ -1,10 +1,7 @@
|
||||
package fr.moribus.ImageOnMap;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.map.MapView;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public final class ImageOnMap extends JavaPlugin
|
||||
|
@ -22,13 +22,15 @@ public class ImageRenderer extends Thread
|
||||
URL = u;
|
||||
}
|
||||
|
||||
public BufferedImage[] getImg()
|
||||
public Poster getImg()
|
||||
{
|
||||
if (estPrete)
|
||||
return img.getPoster();
|
||||
return img;
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Boolean getStatut()
|
||||
{
|
||||
|
@ -1,17 +1,21 @@
|
||||
package fr.moribus.ImageOnMap;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.HashMap;
|
||||
|
||||
/* Class which represents a picture cut into several parts */
|
||||
public class Poster
|
||||
{
|
||||
BufferedImage src;
|
||||
BufferedImage ImgDecoupe[];
|
||||
HashMap<Integer, String> NumeroMap;
|
||||
int nbPartie;
|
||||
int nbColonne;
|
||||
|
||||
Poster(BufferedImage img)
|
||||
{
|
||||
src = img;
|
||||
NumeroMap = new HashMap<Integer, String>();
|
||||
DecoupeImg();
|
||||
}
|
||||
|
||||
@ -20,6 +24,11 @@ public class Poster
|
||||
return ImgDecoupe;
|
||||
}
|
||||
|
||||
public int getNbColonne()
|
||||
{
|
||||
return nbColonne;
|
||||
}
|
||||
|
||||
private void DecoupeImg()
|
||||
{
|
||||
int ligne, colonne;
|
||||
@ -41,6 +50,7 @@ public class Poster
|
||||
else
|
||||
colonne = src.getHeight() / 128;
|
||||
|
||||
nbColonne = colonne;
|
||||
nbPartie = ligne * colonne;
|
||||
ImgDecoupe = new BufferedImage[nbPartie];
|
||||
|
||||
@ -54,14 +64,15 @@ public class Poster
|
||||
if(col == colonne - 1 && resteY != 0)
|
||||
{
|
||||
ImgDecoupe[index] = src.getSubimage(x, y, resteX, resteY);
|
||||
index++;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
ImgDecoupe[index] = src.getSubimage(x, y, resteX, 128);
|
||||
index++;
|
||||
y += 128;
|
||||
}
|
||||
NumeroMap.put(index, "column "+ (lig + 1) +", row "+ (col + 1));
|
||||
index++;
|
||||
|
||||
}
|
||||
}
|
||||
@ -72,14 +83,14 @@ public class Poster
|
||||
if(col == colonne - 1 && resteY != 0)
|
||||
{
|
||||
ImgDecoupe[index] = src.getSubimage(x, y, 128, resteY);
|
||||
index++;
|
||||
}
|
||||
else
|
||||
{
|
||||
ImgDecoupe[index] = src.getSubimage(x, y, 128, 128);
|
||||
index++;
|
||||
y += 128;
|
||||
}
|
||||
NumeroMap.put(index, "column "+ (lig +1) +", row "+ (col + 1));
|
||||
index++;
|
||||
|
||||
}
|
||||
x += 128;
|
||||
|
@ -5,6 +5,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.PlayerInventory;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.map.MapView;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
@ -14,6 +15,7 @@ public class TacheTraitementImg extends BukkitRunnable
|
||||
Player joueur;
|
||||
ImageRenderer renduImg;
|
||||
PlayerInventory inv;
|
||||
ItemStack map;
|
||||
|
||||
TacheTraitementImg(Player j, String u)
|
||||
{
|
||||
@ -35,17 +37,20 @@ public class TacheTraitementImg extends BukkitRunnable
|
||||
}
|
||||
else
|
||||
{
|
||||
System.out.println("ohlala ?");
|
||||
cancel();
|
||||
int nbImage = renduImg.getImg().length;
|
||||
int nbImage = renduImg.getImg().getPoster().length;
|
||||
MapView carte;
|
||||
|
||||
for (int i = 0; i < nbImage; i++)
|
||||
{
|
||||
carte = Bukkit.createMap(joueur.getWorld());
|
||||
ImageRenderer.SupprRendu(carte);
|
||||
carte.addRenderer(new Rendu(renduImg.getImg()[i]));
|
||||
inv.addItem(new ItemStack(Material.MAP, 1, carte.getId()));
|
||||
carte.addRenderer(new Rendu(renduImg.getImg().getPoster()[i]));
|
||||
map = new ItemStack(Material.MAP, 1, carte.getId());
|
||||
ItemMeta meta = map.getItemMeta();
|
||||
meta.setDisplayName("Map (" +renduImg.getImg().NumeroMap.get(i) +")");
|
||||
map.setItemMeta(meta);
|
||||
inv.addItem(map);
|
||||
}
|
||||
joueur.sendMessage("Rendu de l'image fini");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user