zoukankan      html  css  js  c++  java
  • e665. 在图像中过滤三元色

    This example demonstrates how to create a filter that can modify any of the RGB pixel values in an image.

        // This filter removes all but the red values in an image
        class GetRedFilter extends RGBImageFilter {
            public GetRedFilter() {
                // When this is set to true, the filter will work with images
                // whose pixels are indices into a color table (IndexColorModel).
                // In such a case, the color values in the color table are filtered.
                canFilterIndexColorModel = true;
            }
        
            // This method is called for every pixel in the image
            public int filterRGB(int x, int y, int rgb) {
                if (x == -1) {
                    // The pixel value is from the image's color table rather than the image itself
                }
                // Return only the red component
                return rgb & 0xffff0000;
            }
        }
    

    Here's some code that uses the filter:

        // Get image
        Image image = new ImageIcon("image.gif").getImage();
        
        // Create the filter
        ImageFilter filter = new GetRedFilter();
        FilteredImageSource filteredSrc = new FilteredImageSource(image.getSource(), filter);
        
        // Create the filtered image
        image = Toolkit.getDefaultToolkit().createImage(filteredSrc);
    
    Related Examples
  • 相关阅读:
    DOM对象的一些常用方法
    body-parser的使用
    CSS中box-sizing: border-box
    ES6 数组方法 --- map() filter() find()的用法
    JavaScript --- 预编译
    Vue过滤器filter
    Lock wait timeout exceeded; try restarting transaction
    lead函数
    Mysql 数据词典
    OOD
  • 原文地址:https://www.cnblogs.com/borter/p/9575520.html
Copyright © 2011-2022 走看看