Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (C) 2008 The Android Open Source Project
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package com.android.draw9patch.graphics;
 
 import java.net.URL;
 
 public class GraphicsUtilities {
     public static BufferedImage loadCompatibleImage(URL resourcethrows IOException {
         BufferedImage image = ImageIO.read(resource);
         if (image == null) {
             return null;
         }
         return toCompatibleImage(image);
     }
 
     public static BufferedImage createCompatibleImage(int widthint height) {
         return getGraphicsConfiguration().createCompatibleImage(widthheight);
     }
 
     public static BufferedImage toCompatibleImage(BufferedImage image) {
         if (isHeadless()) {
             return image;
         }
 
         ColorModel colorModel = image.getColorModel();
         if (colorModel != null && colorModel.equals(getGraphicsConfiguration().getColorModel())) {
             return image;
         }
 
         BufferedImage compatibleImage = getGraphicsConfiguration().createCompatibleImage(
                     image.getWidth(), image.getHeight(), image.getTransparency());
         Graphics g = compatibleImage.getGraphics();
         g.drawImage(image, 0, 0, null);
         g.dispose();
 
         return compatibleImage;
     }
 
     public static BufferedImage createCompatibleImage(BufferedImage imageint widthint height) {
         return getGraphicsConfiguration().createCompatibleImage(widthheight,
                                                    image.getTransparency());
     }
 
     private static GraphicsConfiguration getGraphicsConfiguration() {
         GraphicsEnvironment environment = GraphicsEnvironment.getLocalGraphicsEnvironment();
         return environment.getDefaultScreenDevice().getDefaultConfiguration();
     }
 
     private static boolean isHeadless() {
         return GraphicsEnvironment.isHeadless();
     }
 
     public static BufferedImage createTranslucentCompatibleImage(int widthint height) {
         return getGraphicsConfiguration().createCompatibleImage(widthheight,
                 .);
     }
 
     public static int[] getPixels(BufferedImage imgint xint yint wint hint[] pixels) {
         if (w == 0 || h == 0) {
             return new int[0];
         }
 
         if (pixels == null) {
             pixels = new int[w * h];
         } else if (pixels.length < w * h) {
             throw new IllegalArgumentException("Pixels array must have a length >= w * h");
         }
 
         int imageType = img.getType();
         if (imageType == . || imageType == .) {
             Raster raster = img.getRaster();
             return (int[]) raster.getDataElements(xywhpixels);
         }
 
         // Unmanages the image
         return img.getRGB(xywhpixels, 0, w);
    }
New to GrepCode? Check out our FAQ X