如何使用it.geosolutions.jaiext.colorindexer.Quantizer的buildColorIndexer()方法构建颜色索引器?

2026-04-01 23:501阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计808个文字,预计阅读时间需要4分钟。

如何使用it.geosolutions.jaiext.colorindexer.Quantizer的buildColorIndexer()方法构建颜色索引器?

本文简要整理了Java中it.geosolutions.jaiext.colorindexer.Quantizer的buildColorIndexer方法的一些代码示例,并进行了说明。

示例1:javaimport it.geosolutions.jaiext.colorindexer.Quantizer;import javax.media.jai.JAI;

// 创建一个Quantizer实例Quantizer quantizer=Quantizer.createInstance();// 构建颜色索引器Quantizer.ColorIndexer colorIndexer=quantizer.buildColorIndexer( new ColorSpace(sRGB, ColorSpace.TYPE_RGB, 3), 256, // 颜色数 null // 可选的转换参数);// 使用颜色索引器BufferedImage image=JAI.create(file, path/to/image.jpg);IndexColorModel icm=(IndexColorModel) colorIndexer.getColorModel();ImageColorModel icmImage=new ImageColorModel( icm.getNumComponents(), icm.getMapSize(), new int[] { icm.getReds(), icm.getGreens(), icm.getBlues() }, icm.getReds(), icm.getGreens(), icm.getBlues(), icm.getAlpha(), icm.getTransferType());BufferedImage indexedImage=JAI.create(indexed, image, icmImage);

示例2:javaimport it.geosolutions.jaiext.colorindexer.Quantizer;import javax.media.jai.JAI;

// 创建一个Quantizer实例Quantizer quantizer=Quantizer.createInstance();// 构建颜色索引器Quantizer.ColorIndexer colorIndexer=quantizer.buildColorIndexer( new ColorSpace(sRGB, ColorSpace.TYPE_RGB, 3), 256, // 颜色数 new double[] { 0.0, 1.0, 0.0 } // 可选的权重);// 使用颜色索引器BufferedImage image=JAI.create(file, path/to/image.jpg);IndexColorModel icm=(IndexColorModel) colorIndexer.getColorModel();ImageColorModel icmImage=new ImageColorModel( icm.getNumComponents(), icm.getMapSize(), new int[] { icm.getReds(), icm.getGreens(), icm.getBlues() }, icm.getReds(), icm.getGreens(), icm.getBlues(), icm.getAlpha(), icm.getTransferType());BufferedImage indexedImage=JAI.create(indexed, image, icmImage);

以上示例展示了如何使用Quantizer的buildColorIndexer方法创建颜色索引器,并将其应用于图像以生成索引图像。

本文整理了Java中it.geosolutions.jaiext.colorindexer.Quantizer.buildColorIndexer方法的一些代码示例,展

本文整理了Java中it.geosolutions.jaiext.colorindexer.Quantizer.buildColorIndexer方法的一些代码示例,展示了Quantizer.buildColorIndexer的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Quantizer.buildColorIndexer方法的具体详情如下:包路径:it.geosolutions.jaiext.colorindexer.Quantizer类名称:Quantizer方法名:buildColorIndexer

Quantizer.buildColorIndexer介绍

暂无

代码示例

代码示例来源:origin: geosolutions-it/jai-ext

@Testpublic void testCompletelyTransparentImage() { BufferedImage image = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); Graphics g = image.getGraphics(); g.setColor(new Color(20, 20, 20, 0)); g.fillRect(0, 0, 20, 20); g.dispose(); Quantizer q = new Quantizer(2); ColorIndexer indexer = q.buildColorIndexer(image); assertTrue(indexer.toIndexColorModel().getTransparentPixel() != -1);}

代码示例来源:origin: geosolutions-it/jai-ext

@Testpublic void testAlphaZeroNoRemoval() { BufferedImage image = new BufferedImage(40, 40, BufferedImage.TYPE_INT_ARGB); Graphics g = image.getGraphics(); g.setColor(Color.WHITE); g.fillRect(0, 0, 20, 20); g.setColor(new Color(20, 20, 20, 20)); // A dark gray g.fillRect(20, 20, 20, 20); g.setColor(new Color(200, 200, 200, 20)); // A light gray g.fillRect(0, 20, 20, 20); g.setColor(new Color(254, 254, 254, 20)); // A light gray g.fillRect(0, 20, 20, 20); g.setColor(new Color(1, 1, 1, 0)); // transparent g.fillRect(20, 0, 20, 20); g.dispose(); Quantizer q = new Quantizer(2); ColorIndexer indexer = q.buildColorIndexer(image); assertTrue(indexer.toIndexColorModel().getTransparentPixel() != -1);}

代码示例来源:origin: geosolutions-it/jai-ext

private RenderedImage quantize(RenderedImage image, ROI roi, Range nodata, int destNoData) { Quantizer q = new Quantizer(256); ColorIndexer indexer = q.buildColorIndexer(image); RenderedImage indexed = ColorIndexerDescriptor.create(image, indexer, roi, nodata, destNoData, null); checkNoDataROI(indexed, image, roi, nodata, destNoData); return indexed;}

代码示例来源:origin: GeoWebCache/geowebcache

如何使用it.geosolutions.jaiext.colorindexer.Quantizer的buildColorIndexer()方法构建颜色索引器?

private static RenderedImage applyPalette(RenderedImage canvas) { if (!(canvas.getColorModel() instanceof IndexColorModel)) { // try to force a RGBA setup ImageWorker imageWorker = new ImageWorker(canvas); RenderedImage image = imageWorker.rescaleToBytes().forceComponentColorModel().getRenderedImage(); ColorIndexer indexer = new Quantizer(256).subsample().buildColorIndexer(image); // if we have an indexer transform the image if (indexer != null) { image = new ImageWorker(image).colorIndex(indexer).getRenderedImage(); } return image; } return canvas; }}

代码示例来源:origin: org.geoserver/gs-wms

} else if (palettedFormatName.equalsIgnoreCase(format)) { indexer = new Quantizer(256).subsample().buildColorIndexer(image);

代码示例来源:origin: GeoWebCache/geowebcache

/** * Quantize if the source did not do so already * * @param canvas * @return */ @Override public RenderedImage preprocess(RenderedImage canvas) { if (!(canvas.getColorModel() instanceof IndexColorModel)) { if (canvas.getColorModel() instanceof ComponentColorModel if (indexer != null) { ParameterBlock pb = new ParameterBlock(); pb.setSource(canvas, 0); // The source image. pb.set(indexer, 0); canvas = JAI.create( "ColorIndexer", pb, JAI.getDefaultInstance().getRenderingHints()); } } } return canvas; }};

本文共计808个文字,预计阅读时间需要4分钟。

如何使用it.geosolutions.jaiext.colorindexer.Quantizer的buildColorIndexer()方法构建颜色索引器?

本文简要整理了Java中it.geosolutions.jaiext.colorindexer.Quantizer的buildColorIndexer方法的一些代码示例,并进行了说明。

示例1:javaimport it.geosolutions.jaiext.colorindexer.Quantizer;import javax.media.jai.JAI;

// 创建一个Quantizer实例Quantizer quantizer=Quantizer.createInstance();// 构建颜色索引器Quantizer.ColorIndexer colorIndexer=quantizer.buildColorIndexer( new ColorSpace(sRGB, ColorSpace.TYPE_RGB, 3), 256, // 颜色数 null // 可选的转换参数);// 使用颜色索引器BufferedImage image=JAI.create(file, path/to/image.jpg);IndexColorModel icm=(IndexColorModel) colorIndexer.getColorModel();ImageColorModel icmImage=new ImageColorModel( icm.getNumComponents(), icm.getMapSize(), new int[] { icm.getReds(), icm.getGreens(), icm.getBlues() }, icm.getReds(), icm.getGreens(), icm.getBlues(), icm.getAlpha(), icm.getTransferType());BufferedImage indexedImage=JAI.create(indexed, image, icmImage);

示例2:javaimport it.geosolutions.jaiext.colorindexer.Quantizer;import javax.media.jai.JAI;

// 创建一个Quantizer实例Quantizer quantizer=Quantizer.createInstance();// 构建颜色索引器Quantizer.ColorIndexer colorIndexer=quantizer.buildColorIndexer( new ColorSpace(sRGB, ColorSpace.TYPE_RGB, 3), 256, // 颜色数 new double[] { 0.0, 1.0, 0.0 } // 可选的权重);// 使用颜色索引器BufferedImage image=JAI.create(file, path/to/image.jpg);IndexColorModel icm=(IndexColorModel) colorIndexer.getColorModel();ImageColorModel icmImage=new ImageColorModel( icm.getNumComponents(), icm.getMapSize(), new int[] { icm.getReds(), icm.getGreens(), icm.getBlues() }, icm.getReds(), icm.getGreens(), icm.getBlues(), icm.getAlpha(), icm.getTransferType());BufferedImage indexedImage=JAI.create(indexed, image, icmImage);

以上示例展示了如何使用Quantizer的buildColorIndexer方法创建颜色索引器,并将其应用于图像以生成索引图像。

本文整理了Java中it.geosolutions.jaiext.colorindexer.Quantizer.buildColorIndexer方法的一些代码示例,展

本文整理了Java中it.geosolutions.jaiext.colorindexer.Quantizer.buildColorIndexer方法的一些代码示例,展示了Quantizer.buildColorIndexer的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Quantizer.buildColorIndexer方法的具体详情如下:包路径:it.geosolutions.jaiext.colorindexer.Quantizer类名称:Quantizer方法名:buildColorIndexer

Quantizer.buildColorIndexer介绍

暂无

代码示例

代码示例来源:origin: geosolutions-it/jai-ext

@Testpublic void testCompletelyTransparentImage() { BufferedImage image = new BufferedImage(20, 20, BufferedImage.TYPE_INT_ARGB); Graphics g = image.getGraphics(); g.setColor(new Color(20, 20, 20, 0)); g.fillRect(0, 0, 20, 20); g.dispose(); Quantizer q = new Quantizer(2); ColorIndexer indexer = q.buildColorIndexer(image); assertTrue(indexer.toIndexColorModel().getTransparentPixel() != -1);}

代码示例来源:origin: geosolutions-it/jai-ext

@Testpublic void testAlphaZeroNoRemoval() { BufferedImage image = new BufferedImage(40, 40, BufferedImage.TYPE_INT_ARGB); Graphics g = image.getGraphics(); g.setColor(Color.WHITE); g.fillRect(0, 0, 20, 20); g.setColor(new Color(20, 20, 20, 20)); // A dark gray g.fillRect(20, 20, 20, 20); g.setColor(new Color(200, 200, 200, 20)); // A light gray g.fillRect(0, 20, 20, 20); g.setColor(new Color(254, 254, 254, 20)); // A light gray g.fillRect(0, 20, 20, 20); g.setColor(new Color(1, 1, 1, 0)); // transparent g.fillRect(20, 0, 20, 20); g.dispose(); Quantizer q = new Quantizer(2); ColorIndexer indexer = q.buildColorIndexer(image); assertTrue(indexer.toIndexColorModel().getTransparentPixel() != -1);}

代码示例来源:origin: geosolutions-it/jai-ext

private RenderedImage quantize(RenderedImage image, ROI roi, Range nodata, int destNoData) { Quantizer q = new Quantizer(256); ColorIndexer indexer = q.buildColorIndexer(image); RenderedImage indexed = ColorIndexerDescriptor.create(image, indexer, roi, nodata, destNoData, null); checkNoDataROI(indexed, image, roi, nodata, destNoData); return indexed;}

代码示例来源:origin: GeoWebCache/geowebcache

如何使用it.geosolutions.jaiext.colorindexer.Quantizer的buildColorIndexer()方法构建颜色索引器?

private static RenderedImage applyPalette(RenderedImage canvas) { if (!(canvas.getColorModel() instanceof IndexColorModel)) { // try to force a RGBA setup ImageWorker imageWorker = new ImageWorker(canvas); RenderedImage image = imageWorker.rescaleToBytes().forceComponentColorModel().getRenderedImage(); ColorIndexer indexer = new Quantizer(256).subsample().buildColorIndexer(image); // if we have an indexer transform the image if (indexer != null) { image = new ImageWorker(image).colorIndex(indexer).getRenderedImage(); } return image; } return canvas; }}

代码示例来源:origin: org.geoserver/gs-wms

} else if (palettedFormatName.equalsIgnoreCase(format)) { indexer = new Quantizer(256).subsample().buildColorIndexer(image);

代码示例来源:origin: GeoWebCache/geowebcache

/** * Quantize if the source did not do so already * * @param canvas * @return */ @Override public RenderedImage preprocess(RenderedImage canvas) { if (!(canvas.getColorModel() instanceof IndexColorModel)) { if (canvas.getColorModel() instanceof ComponentColorModel if (indexer != null) { ParameterBlock pb = new ParameterBlock(); pb.setSource(canvas, 0); // The source image. pb.set(indexer, 0); canvas = JAI.create( "ColorIndexer", pb, JAI.getDefaultInstance().getRenderingHints()); } } } return canvas; }};