import { ColorGradient, IImageData3 } from "image-tls"; import { Data3DTexture } from "three"; import { GradientData3DToImageData3DOptions } from "../../Data3D"; import type { ExtrudeImageOptions, IData3D } from "image-tls"; import { Axis, type IVector3 } from "type-tls"; /** * 3D图像纹理 * @remarks * 专门用于 {@link ./ImageVolumeMaterial#ImageVolumeMaterial} 的纹理对象 * 提供了一些与 {@link ./ImageVolumeMaterial#ImageVolumeMaterial} 约定的设置 和 一些便利方法 */ export declare class ImageData3DTexture extends Data3DTexture { readonly isImageData3DTexture = true; constructor(data: BufferSource, width: number, height: number, depth: number); /** * 获取3D数据的切片 * @remarks * 切片就是指定轴的指定位置的垂直截面 * @param axis - 轴 * @param depth - 在轴上的坐标值 * @returns */ getData3DSlice(axis: Axis, depth: number): import("image-tls").IData2D; /** * 获取3D数据中指定坐标处的数据项目 * @remarks * 在 ImageData3DTexture 中,与 {@link ImageData3DTexture.getColor} 返回的值一样; * @param coord * @returns */ getItem(coord: IVector3): number[]; /** * 获取3D图像中指定坐标处的颜色 * @param coord - 坐标 * @returns */ getColor(coord: IVector3): number[]; } /** * 通过挤出Image来创建 ImageData3DTexture * @remarks * 没 z 轴挤出 * @param image - 图像 * @param depth - 挤出的深度 * @param options - 选项 * @returns */ export declare function createImageData3DTextureByExtrudeImage(image: CanvasImageSource, depth: number, options?: ExtrudeImageOptions | null): ImageData3DTexture; export type CreateImageData3DTextureFromGradientOptions = GradientData3DToImageData3DOptions & { gradient: TexImageSource | ColorGradient; }; /** * 从梯度数据 创建梯度图像 ImageData3DTexture * @param gradientData3D - 梯度数据 * @param options - 选项 * @returns */ export declare function createImageData3DTextureFromGradient(gradientData3D: IData3D | IImageData3, options: CreateImageData3DTextureFromGradientOptions): ImageData3DTexture; //# sourceMappingURL=ImageData3DTexture.d.ts.map