All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.catools.media.model.CScreenShot Maven / Gradle / Ivy

package org.catools.media.model;

import org.catools.common.io.CFile;
import org.catools.media.enums.CImageComparisonType;
import org.catools.media.extensions.types.interfaces.CImageComparisionExtension;
import org.catools.media.utils.CImageComparisionUtil;
import org.catools.media.utils.CImageUtil;

import java.awt.image.BufferedImage;

public abstract class CScreenShot implements CImageComparisionExtension {

    @Override
    public boolean isEqual(BufferedImage expected) {
        return CImageComparisionUtil.getDiffs(getValue(), expected, CImageComparisonType.GRAY_FLOAT_32).isEmpty();
    }

    @Override
    public int hashCode() {
        return getValue().hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        return isEqual((BufferedImage) obj);
    }

    public void saveAsPng(CFile file) {
        saveAs("png", file);
    }

    public void saveAs(String formatName, CFile file) {
        CImageUtil.writeImage(getValue(), formatName, file);
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy