org.apache.axis2.jaxws.utility.AttachmentUtils.java Source code

Java tutorial

Introduction

Here is the source code for org.apache.axis2.jaxws.utility.AttachmentUtils.java

Source

package org.apache.axis2.jaxws.utility;

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you 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.
 */

import java.awt.Image;
import java.awt.image.BufferedImage;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class AttachmentUtils {
    private static final Log log = LogFactory.getLog(AttachmentUtils.class);

    public static boolean compareImages(Image img1, Image img2) {
        if (img1 == null && img2 == null) {
            if (log.isDebugEnabled()) {
                log.debug("Both Image Objects are null, cannot compare Images returning false");
            }
            return false;
        }
        int h1 = img1.getHeight(null);
        int h2 = img2.getHeight(null);
        int w1 = img1.getWidth(null);
        int w2 = img1.getWidth(null);
        if (h1 != h2 || w1 != w2) {
            return false;
        }
        if (img1 instanceof BufferedImage && img2 instanceof BufferedImage) {
            BufferedImage bi1 = (BufferedImage) img1;
            BufferedImage bi2 = (BufferedImage) img2;
            for (int h = 0; h < h1; ++h) {
                for (int w = 0; w < w1; ++w) {
                    int Img1Pixel = bi1.getRGB(w, h);
                    int Img2Pixel = bi2.getRGB(w, h);
                    if (Img1Pixel != Img2Pixel) {
                        return false;
                    }
                }
            }
        }
        return true;
    }
}