Design system.
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 

20 wiersze
1019 B

  1. import {DEFAULT_PALETTE_COLOR_COUNT, GetImageMetadataOptions, ImageMetadata} from './common';
  2. const doGetImageMetadata = async (input: string | Buffer, options = {} as GetImageMetadataOptions): Promise<Partial<ImageMetadata>> => {
  3. const { paletteColorCount = DEFAULT_PALETTE_COLOR_COUNT } = options;
  4. const { imageSize, disableFS } = await import('image-size');
  5. disableFS(true);
  6. const { default: getColors } = await import('get-image-colors');
  7. const dimensions = imageSize(input);
  8. const palette = await getColors(input, { count: paletteColorCount });
  9. return {
  10. width: dimensions.width,
  11. height: dimensions.height,
  12. palette: palette.map((color) => color.rgb()),
  13. };
  14. };
  15. export const getMetadataFromUrl = (imageUrl: string, options?: GetImageMetadataOptions): Promise<Partial<ImageMetadata>> => doGetImageMetadata(imageUrl, options);
  16. export const getMetadataFromBuffer = (buffer: Buffer, options?: GetImageMetadataOptions): Promise<Partial<ImageMetadata>> => doGetImageMetadata(buffer, options);