@mescius/dsimageviewer
Version:
Document Solutions Image Viewer
45 lines (44 loc) • 2.78 kB
TypeScript
import { ImageMimeType } from "./ImageFormatUtils";
export declare function currentDisplayPxPerInch(): number;
export declare function getDpiAdaptiveSize(naturalWidth: number, naturalHeight: number, imageDPI: number, includeDeviceRatio?: boolean): {
width: number;
height: number;
};
export declare function setDpiAdaptiveSize(sampleImage: HTMLCanvasElement | HTMLImageElement, imageDPI: number): void;
export declare function getImageNaturalSize(img: HTMLImageElement): {
width: number;
height: number;
};
/**
* Create image element using specified image url.
**/
export declare function dataUrlToImage(dataUrl: string): Promise<HTMLImageElement>;
export declare function imageDataToCanvas(dataUrl: string, canvas?: HTMLCanvasElement, dx?: number, dy?: number, dw?: number, dh?: number): Promise<HTMLCanvasElement>;
export declare function resizeImage(sourceImage: HTMLImageElement, destinationCanvas: HTMLCanvasElement, width: number, height: number, keepAspectRatio?: boolean): void;
export declare function resizeImageDataUrl(originalImageDataUrl: string, originalNaturalSize: {
width: number;
height: number;
}, width: number, height: number, keepAspectRatio?: boolean): Promise<string>;
export declare function cropImage(sourceImage: HTMLImageElement, destinationCanvas: HTMLCanvasElement, x: number, y: number, width: number, height: number): void;
export declare function copyImageCanvasToClipboard(canvas: HTMLCanvasElement, imageType?: ImageMimeType): void;
export declare function getImageCanvasFromClipboard(imageType?: ImageMimeType): Promise<HTMLCanvasElement>;
/**
* Safely updates the canvas with the provided ImageData, handling compatibility issues on certain platforms.
* @param canvas - The HTMLCanvasElement to be updated.
* @param imageData - The ImageData containing pixel information to be applied to the canvas.
* @returns A Promise that resolves to a boolean indicating the success of the operation.
*/
export declare function safePutImageData(canvas: HTMLCanvasElement, imageData: ImageData, clipPaths?: Path2D[]): Promise<boolean>;
export declare const ImageUtils: {
cropImage: typeof cropImage;
resizeImage: typeof resizeImage;
resizeImageDataUrl: typeof resizeImageDataUrl;
currentDisplayPxPerInch: typeof currentDisplayPxPerInch;
getImageNaturalSize: typeof getImageNaturalSize;
imageDataToCanvas: typeof imageDataToCanvas;
setDpiAdaptiveSize: typeof setDpiAdaptiveSize;
getDpiAdaptiveSize: typeof getDpiAdaptiveSize;
copyImageCanvasToClipboard: typeof copyImageCanvasToClipboard;
getImageCanvasFromClipboard: typeof getImageCanvasFromClipboard;
};
export declare function imageFromUrl(imageUrl: string): Promise<HTMLImageElement>;