Il suffit de mettre les images PNG (pixel art ou painting) dans le dossier avec le programme et de cliquer sur le programme (EXE). L'image sera convertie dans la palette RM2003, mais sera plus ressemblante à l'originale grâce au dithering.
Le programme ne marche que sur les PC 64bits je crois.
package main;
import java.awt.Color;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class Main {
public static void main(String[] args) throws IOException{String directory =System.getProperty("user.dir");
directory = directory.replace("\\","/");File dir = new File(directory);File[] directoryListing = dir.listFiles();if(directoryListing != null){for(File file : directoryListing){//pour chaque fichier du dossier
System.out.println(file.getName());
try{
BufferedImage img = ImageIO.read(file);
int width = img.getWidth();
int height = img.getHeight();for(int y=0; y<height; y++){for(int x=0; x<width; x++){
Color couleurDeLImage = new Color(img.getRGB(x, y));
int rImage = couleurDeLImage.getRed();
int vImage = couleurDeLImage.getGreen();
int bImage = couleurDeLImage.getBlue();//on cherche la couleur de la palette correspondante
int rPalette =(int)(((double) rImage)/(8.25));
int vPalette =(int)(((double) vImage)/(4.0625));
int bPalette =(int)(((double) bImage)/(8.25));
rPalette = rPalette*8+(int)(rPalette/4);
vPalette = vPalette*4+(int)(vPalette/16);
bPalette = bPalette*8+(int)(bPalette/4);
Color couleurPalette = new Color(rPalette,vPalette,bPalette);
img.setRGB(x, y, colorToInt(couleurPalette));//on remplace la couleur de l'image par celle de la palette //on transfère l'erreur aux pixels voisins
int ecartR = rImage - rPalette;
int ecartV = vImage - vPalette;
int ecartB = bImage - bPalette;if(x+1!=width){
couleurDeLImage = new Color(img.getRGB(x+1, y));
Color couleurDeplacee;
couleurDeplacee = new Color(Math.max(0,Math.min(255,couleurDeLImage.getRed()+(int)(((double)ecartR)*0.4375))),Math.max(0,Math.min(255,couleurDeLImage.getGreen()+(int)(((double)ecartV)*0.4375))),Math.max(0,Math.min(255,couleurDeLImage.getBlue()+(int)(((double)ecartB)*0.4375))));
img.setRGB(x+1, y, colorToInt(couleurDeplacee));}if(x!=0&& y+1!=height){
couleurDeLImage = new Color(img.getRGB(x-1, y+1));
Color couleurDeplacee;
couleurDeplacee = new Color(Math.max(0,Math.min(255,couleurDeLImage.getRed()+(int)(((double)ecartR)*0.1875))),Math.max(0,Math.min(255,couleurDeLImage.getGreen()+(int)(((double)ecartV)*0.1875))),Math.max(0,Math.min(255,couleurDeLImage.getBlue()+(int)(((double)ecartB)*0.1875))));
img.setRGB(x-1, y+1, colorToInt(couleurDeplacee));}if(y+1!=height){
couleurDeLImage = new Color(img.getRGB(x, y+1));
Color couleurDeplacee;
couleurDeplacee = new Color(Math.max(0,Math.min(255,couleurDeLImage.getRed()+(int)(((double)ecartR)*0.3125))),Math.max(0,Math.min(255,couleurDeLImage.getGreen()+(int)(((double)ecartV)*0.3125))),Math.max(0,Math.min(255,couleurDeLImage.getBlue()+(int)(((double)ecartB)*0.3125))));
img.setRGB(x, y+1, colorToInt(couleurDeplacee));}if(x+1!=width && y+1!=height){
couleurDeLImage = new Color(img.getRGB(x+1, y+1));
Color couleurDeplacee;
couleurDeplacee = new Color(Math.max(0,Math.min(255,couleurDeLImage.getRed()+(int)(((double)ecartR)*0.0625))),Math.max(0,Math.min(255,couleurDeLImage.getGreen()+(int)(((double)ecartV)*0.0625))),Math.max(0,Math.min(255,couleurDeLImage.getBlue()+(int)(((double)ecartB)*0.0625))));
img.setRGB(x+1, y+1, colorToInt(couleurDeplacee));}}}String nom = file.getName().replace(".png","").replace(".jpg","").replace(".bpm","");File outputfile = new File(directory+"/"+nom+".png");System.out.println(directory+"/"+nom+".png");
ImageIO.write(img,"png", outputfile);}catch(Exception e){//erreur, si le fichier n'est pas une image par exemple e.printStackTrace(); } } } System.out.println("fini !"); } public static int colorToInt(Color col){ int Red = col.getRed(); int Green = col.getGreen(); int Blue = col.getBlue(); Red = (Red << 16) & 0x00FF0000; Green = (Green << 8) & 0x0000FF00; Blue = Blue & 0x000000FF; return 0xFF000000 | Red | Green | Blue; }}
Roi of the Suisse - posté le 29/01/2015 à 04:10:38. (29820 messages postés) -
sriden a dit:
C'est pas vraiment quand on fait du pixel-art que le problème va se poser, c'est surtout quand on importe des illus de type non pixel-art, comme les décors de Sylvanor.
Bah à la base le problème est venu de Shin, qui s'est plaint que son décor pixel-art avait été bousillé par RM2003 : plusieurs couleurs ont été transformées en la même couleur transformant l'image en bouillie.
Au contraire je pense que pour un mec comme Sylvanor, qui fait du painting, c'est foutu d'avance parce qu'il faudrait qu'il convertisse son painting en pixel art. Limite le choix des couleurs lors du painting est flou et moins soigneux, donc une fusion locale des couleurs est moins dangereuse.
Mais tu as raison dans la mesure où la fusion de couleurs sur une vraie image (comme le pont d'Osaka dans mon exemple) entraine un effet de zones assez dégueulasse.
Ce qui serait intéressant, ce serait un logiciel qui transforme les couleurs hors-liste en dithering de deux couleurs de la liste. Parce qu'avec du dithering 1bit on peut atteindre une bien meilleure approximation de l'image que sans dithering.
Roi of the Suisse - posté le 28/01/2015 à 14:19:03. (29820 messages postés) -
C'est bon je l'ai vu.
Un peu plus loin dans le film on trouve le même texte japonais, cette fois-ci avec une traduction qui colle beaucoup plus ! Mais je crois que c'est le sous-titre rajouté par la team de fansub
Je l'ai vu et le graal c'est toujours aussi merdique que dans Fate/Zéro :
On voit un truc noir qui fait de la bouillabaisse toxique, et on ne sait pas vraiment si ça réalise le voeu de quelqu'un.
L’interprétation que je fais du film c'est qu'Archer étant le dernier esprit héroïque à survivre, c'est lui qui obtient le graal. Mais comme il n'a pas de voeu, il disparait juste. Une autre interprétation, c'est que Saber détruit le graal et que donc personne n'a le voeu. Mais ça ne me plait pas trop parce que ça ne colle pas avec le fait qu'avant la disparition d'Archer, Rin lui demande un contrat : pourquoi voudrait-elle redevenir son maître si le graal est détruit ?
Dans Fate/Zéro, qui a eu le voeu ? Je ne sais plus vraiment si c'est Emiya Kiritsugu ou Kotomine Kirei...
Dans Fate/Stay Night le vieil animé, qui a eu le voeu ? Y'a un épilogue triste avec Saber dans la forêt, mais on ne sait pas vraiment si son voeu a été réalisé...
Qu'en pensez-vous ?
Je crois que tout le monde s'amuse à faire des fins ambigües exprès pour que les gens parlent de l'anime sur internet et que ça fasse monter le titre dans google trend !
EDIT: Bon, j'ai fait des recherches, et y'a plein de trucs super importants qui ne sont pas expliqués dans l'animé :
- Lors d'une guerre du graal il y a très longtemps, la famille von Einzbern a voulu invoquer une nouvelle classe de servant, Avenger, ce qui a résulté en l'invocation d'Angra Mainyu (esprit démoniaque du Zoroastrisme). Angra Mainyu a possédé le graal, le transformant en objet maléfique ne pouvant faire que trois choses : tuer, détruire, et jeter de la bouillabaisse noire partout.
- Le graal ne peut être invoqué qu'à partir d'un homonculus de la famille Einzbern, à savoir Irisviel dans Fate/Zero et Iliasviel dans Fate/Stay Night. Voilà pourquoi Gilgamesh récupère le coeur d'Ilia dans Fate/Stay Night Unlimited Blade Works le film.
- Kiritsugu Emiya sauve Shiro à la fin de Fate/Zero en utilisant le fourreau d’Excalibur (qui a des pouvoirs de guérison) ce qui explique pourquoi Shiro invoque Saber dans Fate/Stay Night sans objet et sans être mage (le fourreau est en lui).
- Kiritsugu se rend compte à la fin de Fate/Zero que le graal est corrompu et refuse le voeu. Kiritsugu ordonne à Saber de détruire le graal (contre sa volonté puisqu'elle en a besoin) en utilisant ses deux derniers sceaux.
- Kirei utilise le graal corrompu pour survivre à sa mort (et vice versa !), Gilgamesh pour s'incarner véritablement. Ils espèrent tous les deux utiliser les pouvoirs du graal dans la prochaine guerre (Fate/Stay Night). La guerre suivante arrive plus tôt que prévue (seulement 10 ans plus tard) car le graal a été presque détruit par Saber dans Fate/Zero.
- Saber est devenue un esprit héroïque avant sa mort, contrairement aux autres esprits héroïques, ce qui explique pourquoi elle ne peut pas se dématérialiser. Elle fait un pacte avec le "monde" pour devenir un esprit héroïque dans l'espoir de regagner tout ce qu'elle a perdu : son royaume, ses chevaliers...
- Si le graal survit même après la destruction par Saber dans Fate/Zero, c'est parce qu'il y a un petit graal et un grand graal. Tant que le grand graal n'est pas détruit, les guerres continueront. Dans Fate/Stay Night Unlimited Blade Works, Saber et Archer détruisent aussi le petit graal. Une guerre a lieu 10 ans plus tard, dans laquelle Rin Tohsaka et Waver Velvet (le maître d'Iskandar dans Fate/Zero) détruisent le grand graal, mettant fin à ce cycle.
Notamment le fait que Rin fasse des trucs cochons avec Archer ET Shiro dans le Visual Novel
Sylvanor a dit:
L'identité d'Archer n'est pas un secret si on a vu FSN: Unlimited Blade Works le film (qui a quelques années maintenant).
Je l'ai dans mon ordi depuis très longtemps, ce film Destin/Séjour Nuit : Travaux de Lames Illimités, mais je n'ai jamais pris le temps de le regarder. Du coup je commence ce soir.
Par contre je ne sais pas si les japonais ont merdé à traduire un vrai poème anglais ou si les anglais ont merdé à traduire le poème japonais, mais la traduction est ultra approximative :
Bon c'est pas tout mais on attend toujours Aramaki avec des bas en nylon =>[]
Roi of the Suisse - posté le 27/01/2015 à 14:44:06. (29820 messages postés) -
Citation:
Citation:
Et puis cette héroïne quoi.
C'est elle dans Stand Alone complex qui m'a fait virer ma cuti à 12 ans. Non mais sérieux quoi... *q*
La meuf de GitS je ne l'ai jamais trouvée attirante ni intéressante. Mon personnage préféré de la série ça doit être le vieux pinchanzé.
Kody a dit:
Ah RotS qui débarque.
Je préfère attendre la fin de parution pour ne pas avoir à attendre le nouvel épisode chaque semaine. Mais bon avec Durarara!!x2 j'ai craqué
Sinon tu connaissais, toi, l'identité d'Archer de FSN ?
Et évidemment, Kenji Kawai a fait Ghost in the Shell le premier film, mais je recommande surtout la série Ghost in the Shell : Stand Alone Complex qui est bien mieux selon 78% des ménagères de plus de 50 ans.
Kenji Kawai a fait notamment :
- Blue Seed (que j'ai pas fini lulz)
- Ghost in the Shell le film https://www.youtube.com/watch?v=q0z08OpmEPc - Avalon (pas vu non plus, mais trotter m'avait conseillé je crois)
- Fate Stay Night https://www.youtube.com/watch?v=WJXw0lL5-vA - Seirei no Moribito https://www.youtube.com/watch?v=glRJX3owYRw En tout cas la musique c'est 80% de l'intérêt des animés (c'est pour ça que je ne lis pas de mangas =>[]) donc faut connaître tout ça par coeur.
Roi of the Suisse - posté le 26/01/2015 à 13:42:48. (29820 messages postés) -
Moi je remplace "Dieu" par "mon gros orteil" dans le texte et ça fait également sens
Mais, qui es-tu donc toi, homme, pour critiquer mon gros orteil ? L'ouvrage demandera-t-il à l'ouvrier : «Pourquoi m'as-tu fait ainsi ?»
Le potier n'a-t-il pas le droit, à partir du même bloc d'argile, de fabriquer un pot d'usage noble et un autre pour l'usage courant ?
Et qu'as-tu à redire si mon gros orteil a voulu montrer sa colère et faire connaître sa puissance en supportant avec une immense patience ceux qui étaient les objets de sa colère, tout prêts pour la destruction ?
Roi of the Suisse - posté le 23/01/2015 à 17:35:11. (29820 messages postés) -
Vu le dessin, c'est soit Monster soit 20th Century Boys. Mais les gens en général préfèrent Monster parce qu'ils ne connaissent pas le miracle qu'est 20th Century Boys (avec Kana ), cette erreur.
N'étant pas musicien, des retours sur la musique serait cool. Soyez difficiles!
Nan, c'est très bien, faut pas embêter les compositeurs.
S'il a fait ça c'est parce qu'il a une vision d'artiste du truc, c'est son boulot. Quelqu'un qui agence les sons a plus de sensibilité que quelqu'un qui agence les couleurs, parce que les sons sont des émotions pures.
Laisse-le faire de l'expérimental, ne le bride pas, si ça se trouve le jeu aura plus de succès pour ses musiques que pour son gameplay (on sait jamais). Avec des musiques banales/déjà vues/standardisées tu n'auras pas cette possibilité, faut mettre toutes les chances de ton côté.
Roi of the Suisse - posté le 23/01/2015 à 16:50:36. (29820 messages postés) -
Falco a dit:
Elles sont très bien, mais pour l'animation d'attaque, j'aurais fais un truc du style moi :
Flaco a raison, il faut bien marquer l'arrêt sur la dernière frame de frappe.
Dans un mouvement, toutes les frames ne doivent pas forcément avoir la même durée. Le dynamisme est en jeu.
Le slash blanc n'est pas de refus aussi.
Roi of the Suisse - posté le 23/01/2015 à 16:47:25. (29820 messages postés) -
La raw est d'un seul bloc, avec un seul opening au début et un seul ending à la fin.
Mais quand on le télécharge, il est souvent découpé en épisodes. Shaft numérote soigneusement ses scènes à la vue de tous, ce qui fait que le découpage est simple à faire.
Roi of the Suisse - posté le 22/01/2015 à 13:55:01. (29820 messages postés) -
Lulz trotter quelle coïncidence moi aussi j'[la suite a été censurée parce que c'est trop honteux]
Quel bilan vous faites du Fate Stay Night de l'automne par Ufotable ?
Je l'ai trouvé :
+ plus beau graphiquement
+ plus rythmé
+ Shiro moins chiant
- par contre j'ai trouvé globalement l'animé assez froid : y'a pas assez d'émotions que s'en dégage, ce n'est une suite d'évènements racontés de façon très propre.
C'est peut-être à cause de l'absence des musiques merveilleuses de Kenji Kawai qui manquent par rapport à la vieille série. Mais la vieille série s'arrêtait beaucoup plus sur les émotions des personnages, j'avais chialé avec l'histoire de Saber à la fin à l'époque
- absence de musiques donc.
+ par contre j'ai été content d'entendre "kaze ni miteita, ano hi no kage ni" à la fin, je la chantonnais avant qu'elle n'arrive. Un Fate Stay Night sans cette chanson n'est pas un vrai Fate Stay Night
En parlant de FSN, vous saviez qu'Archer (le servant de Rin Tohsaka) était en fait ghuogjgfgsfhdsf ? Je ne me souviens plus s'ils le disent dans l'ancien animé...
Sinon, même je passe mes journées à cracher sur Durarara, je regarde quand même la S2 avec avidité
Y'avait une ambiance mystérieuse tellement forte dans cet animé à l'époque, j'espère que cette deuxième saison sera au moins du même niveau. Je trouve que les japonais ont du mal à analyser leurs points forts et points faibles, donc ils sont capables de pondre un truc bien suivi d'un truc merdique parce qu'ils n'ont eux-mêmes pas compris pourquoi le premier était bien. Bref, y'a toujours autant de personnages, ils en ont rajouté plein par rapport à l'ancienne série oh lala, heureusement qu'ils rappellent tous les noms EN KANJI dans le générique sinon on serait foutu
Et pour finir, une cover allemande de Madoka Magica (aucun rapport oui je sais) :
Roi of the Suisse - posté le 14/01/2015 à 10:24:19. (29820 messages postés) -
Si, c'est un forum complètement à l'opposé de celui-ci, il s'appelle Eicnamorino (leur adresse est www.game-maker.fr mais ils n'ont rien d'officiel).
On y trouve des gens célèbres comme :
- Uamen, un mec qui passe sa vie à faire des jeux, il doit en avoir 200 à son actif
- Ronavlys, un mec imberbe qui dessine super mal et qui déteste l'argent
- Sonom, le dieu vivant de la grammaire et de l'orthographe, il a également un goût raffiné pour le choix des couleurs
Roi of the Suisse - posté le 14/01/2015 à 10:17:57. (29820 messages postés) -
mtarzaim a dit:
Je vous laisse deviner combien de ces adjectifs ne s'appliquent pas à un raisonnement religieux qui parle d'amour à tout bout de champs.
Quelle violence, quelle agressivité. Voici un intégriste athée ! C'est à cause des gens comme ça qu'il y a des conflits dans le monde. Ça et le pétrole.
Roi of the Suisse - posté le 14/01/2015 à 06:44:34. (29820 messages postés) -
Nova_Proxima a dit:
Et la polygamie alors ? Parlons en !
Etre contre c'est indéfendable !
Des gens qui s'aiment ont le droit au mariage, qu'importe qu'ils soient plus que deux, c'est l'amour qui compte !
C'est déjà appliqué dans de nombreux pays et ça n'a pas provoqué un cataclysme.
C'est naturel, des tonnes d'espèce animales fonctionnent en polygamie.
Clairement !
Je dirais même plus, on devrait ouvrir le mariage aux couples formés :
- d'un adulte et d'un enfant
- d'un humain et d'un chien
- d'un vivant et d'un mort
- d'une femme et d'une cabine téléphonique
- d'un homme, deux femmes et 17 tractopelles
- de trois hommes, une femme, un château gonflable et une vingtaine d'otaries.
Le mariage pour tous ne suffit clairement pas, il nous faut un mariage pour tout et n'importe quoi. Car ce qui compte -on est tous d'accord là-dessus- c'est l'amour, et aujourd'hui une femme qui aime une cabine téléphonique n'est pas reconnue comme normale par la société parce qu'elle n'a pas de droit au mariage et ça c'est indéfendable.
Roi of the Suisse - posté le 13/01/2015 à 13:24:45. (29820 messages postés) -
Ça peut pas durer éternellement, le joueur du grenier c'est un type qui boit son pipi dans le désert. Or au bout de plusieurs cycles le pipi devient plus toxique que désaltérant. Ce que je veux dire par là, c'est que son émission c'est comme du caca qu'il mange et qu'il refait après : au bout d'un moment il n'y a plus de nutriments dedans.
Roi of the Suisse - posté le 13/01/2015 à 12:16:01. (29820 messages postés) -
Tu veux faire ça avec RPG Maker ???
RPG Maker n'est pas vraiment adapté pour faire un jeu d'action basé sur les hitboxes. Utilise plutôt un logiciel comme Game Maker.
Je ne dis pas que c'est impossible sous RM, mais tu auras besoin de vraiment bien connaître le logiciel et d'avoir une connaissance minimale du scripting ruby.
Si tu veux absolument utiliser RPG Maker, tu devras sûrement revoir tes exigences à la baisse.
Si tu es courageux et que tu as l'esprit mathématique, tu peux apprendre un langage de programmation comme Java, C# ou C++ qui disposent de grandes communautés, de nombreux tutoriels et de bibliothèques dédiées à la création de jeu. Site du Zéro ou OpenClassroom pour apprendre ces langages par exemple.
Voilà ce qu'on peut faire en écrivant des lignes de code Java pendant quelques heures :
attaque à l'épée qui déforme un objet du décor selon une hitbox, déplacement au pixel près