ZipOutputStream zos = new ZipOutputStream(outFile);
try {
zos.setEncoding(zipNameEncoding);
-
+
if (layerImages != null) {
for (LayerImage layerImage : layerImages) {
String partsName = layerImage.getPartsName();
}
AppConfig appConfig = AppConfig.getInstance();
+ PSDCreator.setUseRenderingHints(appConfig.isEnableRenderingHints()); // レンダリングヒントの使用
PSDCreator.setUseRLECompression(appConfig.isUseRLECompressionForPSD()); // RLE圧縮の有無
// PSDデータ作成
package charactermanaj.graphics.io;
import java.awt.Graphics2D;
+import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.awt.image.DataBufferInt;
import java.awt.image.WritableRaster;
}
/**
+ * レンダリングヒントを使うか?
+ */
+ private static boolean useRenderingHints = true;
+
+ public static boolean isUseRenderingHints() {
+ return useRenderingHints;
+ }
+
+ public static void setUseRenderingHints(boolean useRenderingHints) {
+ PSDCreator.useRenderingHints = useRenderingHints;
+ }
+
+ /**
* レイヤーを指定してPSDデータを作成する
* @param layerDatas レイヤーのコレクション、順番に重ねられる
* @return PSDデータ
Graphics2D g = cimg.createGraphics();
try {
+ if (isUseRenderingHints()) {
+ // リンダリングヒントを使う
+ g.setRenderingHint(
+ RenderingHints.KEY_ALPHA_INTERPOLATION,
+ RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
+ g.setRenderingHint(
+ RenderingHints.KEY_COLOR_RENDERING,
+ RenderingHints.VALUE_COLOR_RENDER_QUALITY);
+ g.setRenderingHint(
+ RenderingHints.KEY_RENDERING,
+ RenderingHints.VALUE_RENDER_QUALITY);
+ }
for (LayerData layerData : layerDatas) {
BufferedImage img = layerData.getImage();
int w = img.getWidth();