001package net.gdface.image;
002
003import java.io.File;
004
005/**
006 * 创建 lazy image的工厂类接口
007 * @author guyadong
008 *
009 */
010public interface LazyImageFactory {
011        /**
012         * 创建并打开对象
013         * @param imgBytes
014         * @return
015         * @throws NotImageException
016         * @throws UnsupportedFormatException
017         */
018        public BaseLazyImage create(final byte[] imgBytes) throws NotImageException, UnsupportedFormatException;
019        /**
020         * 用本地图像文件创建对象
021         * @param file
022         * @param md5 {@code file}的MD5较验码,可以为null
023         * @return
024         * @throws NotImageException
025         * @throws UnsupportedFormatException
026         */
027        public BaseLazyImage create(final File file, String md5) throws NotImageException, UnsupportedFormatException;
028        /**
029         * 多源创建对象
030         * @param src
031         * @return
032         * @throws NotImageException
033         * @throws UnsupportedFormatException
034         */
035        public <T> BaseLazyImage create(final T src) throws NotImageException, UnsupportedFormatException;
036}