1.ArkTs整改15 整改imageknife文件夹 清理codelint

Signed-off-by: zhoulisheng1 <zhoulisheng1@huawei.com>
This commit is contained in:
zhoulisheng1 2023-09-22 09:11:06 +08:00
parent 68acab45ff
commit 268d0ab3e5
20 changed files with 134 additions and 135 deletions

View File

@ -18,111 +18,109 @@
* cache
*/
export * from './src/main/ets/components/cache/FileUtils'
export * from './src/main/ets/components/cache/Base64'
export * from './src/main/ets/components/cache/LruCache'
export * from './src/main/ets/components/cache/diskstrategy/enum/ALL'
export * from './src/main/ets/components/cache/diskstrategy/enum/AUTOMATIC'
export * from './src/main/ets/components/cache/diskstrategy/enum/DATA'
export * from './src/main/ets/components/cache/diskstrategy/enum/NONE'
export * from './src/main/ets/components/cache/diskstrategy/enum/RESOURCE'
export type {EngineKeyInterface} from './src/main/ets/components/cache/key/EngineKeyInterface'
export * from './src/main/ets/components/cache/key/EngineKeyFactories'
export { FileUtils } from './src/main/ets/components/cache/FileUtils'
export { Base64 } from './src/main/ets/components/cache/Base64'
export { LruCache } from './src/main/ets/components/cache/LruCache'
export { ALL } from './src/main/ets/components/cache/diskstrategy/enum/ALL'
export { AUTOMATIC } from './src/main/ets/components/cache/diskstrategy/enum/AUTOMATIC'
export { DATA } from './src/main/ets/components/cache/diskstrategy/enum/DATA'
export { NONE } from './src/main/ets/components/cache/diskstrategy/enum/NONE'
export { RESOURCE } from './src/main/ets/components/cache/diskstrategy/enum/RESOURCE'
export { EngineKeyInterface } from './src/main/ets/components/cache/key/EngineKeyInterface'
export { EngineKeyFactories } from './src/main/ets/components/cache/key/EngineKeyFactories'
/**
* compress
*/
export * from './src/main/ets/components/imageknife/compress/CompressBuilder'
export type {OnCompressListener} from './src/main/ets/components/imageknife/compress/listener/OnCompressListener'
export type {OnRenameListener} from './src/main/ets/components/imageknife/compress/listener/OnRenameListener'
export type {CompressDataListener} from './src/main/ets/components/imageknife/compress/listener/CompressDataListener'
export * from './src/main/ets/components/imageknife/compress/listener/CompressionPredicate'
export * from './src/main/ets/components/imageknife/compress/provider/CompressAdapter'
export * from './src/main/ets/components/imageknife/compress/provider/CompressProvider'
export * from './src/main/ets/components/imageknife/compress/provider/DataStringPathProvider'
export * from './src/main/ets/components/imageknife/compress/provider/RecourseProvider'
export { CompressBuilder } from './src/main/ets/components/imageknife/compress/CompressBuilder'
export { OnCompressListener } from './src/main/ets/components/imageknife/compress/listener/OnCompressListener'
export { OnRenameListener } from './src/main/ets/components/imageknife/compress/listener/OnRenameListener'
export { CompressDataListener } from './src/main/ets/components/imageknife/compress/listener/CompressDataListener'
export { CompressionPredicate } from './src/main/ets/components/imageknife/compress/listener/CompressionPredicate'
export { CompressAdapter } from './src/main/ets/components/imageknife/compress/provider/CompressAdapter'
export { CompressProvider } from './src/main/ets/components/imageknife/compress/provider/CompressProvider'
export { DataStringPathProvider } from './src/main/ets/components/imageknife/compress/provider/DataStringPathProvider'
export { RecourseProvider } from './src/main/ets/components/imageknife/compress/provider/RecourseProvider'
/**
* crop
*/
export * from './src/main/ets/components/imageknife/crop/Crop'
export * from './src/main/ets/components/imageknife/crop/CropImage'
export * from './src/main/ets/components/imageknife/crop/CropOptions'
export * from './src/main/ets/components/imageknife/crop/PixelMapCrop'
export * from './src/main/ets/components/imageknife/crop/CropCallback'
export { CropImage } from './src/main/ets/components/imageknife/crop/CropImage'
export { CropOptions } from './src/main/ets/components/imageknife/crop/CropOptions'
export { PixelMapCrop,Options } from './src/main/ets/components/imageknife/crop/PixelMapCrop'
export { CropCallback } from './src/main/ets/components/imageknife/crop/CropCallback'
/**
* transform
*/
export type {BaseTransform} from './src/main/ets/components/imageknife/transform/BaseTransform'
export * from './src/main/ets/components/imageknife/transform/BlurTransformation'
export * from './src/main/ets/components/imageknife/transform/BrightnessFilterTransformation'
export * from './src/main/ets/components/imageknife/transform/ContrastFilterTransformation'
export * from './src/main/ets/components/imageknife/transform/CropCircleTransformation'
export * from './src/main/ets/components/imageknife/transform/CropCircleWithBorderTransformation'
export * from './src/main/ets/components/imageknife/transform/CropSquareTransformation'
export * from './src/main/ets/components/imageknife/transform/CropTransformation'
export * from './src/main/ets/components/imageknife/transform/GrayscaleTransformation'
export * from './src/main/ets/components/imageknife/transform/InvertFilterTransformation'
export * from './src/main/ets/components/imageknife/transform/PixelationFilterTransformation'
export * from './src/main/ets/components/imageknife/transform/RotateImageTransformation'
export * from './src/main/ets/components/imageknife/transform/RoundedCornersTransformation'
export * from './src/main/ets/components/imageknife/transform/SepiaFilterTransformation'
export * from './src/main/ets/components/imageknife/transform/SketchFilterTransformation'
export * from './src/main/ets/components/imageknife/transform/MaskTransformation'
export * from './src/main/ets/components/imageknife/transform/SwirlFilterTransformation'
export * from './src/main/ets/components/imageknife/transform/KuwaharaFilterTransform'
export * from './src/main/ets/components/imageknife/transform/ToonFilterTransform'
export * from './src/main/ets/components/imageknife/transform/VignetteFilterTransform'
export * from './src/main/ets/components/imageknife/transform/TransformUtils'
export * from './src/main/ets/components/imageknife/transform/TransformType'
export * from './src/main/ets/components/imageknife/transform/pixelmap/CenterCrop'
export * from './src/main/ets/components/imageknife/transform/pixelmap/CenterInside'
export * from './src/main/ets/components/imageknife/transform/pixelmap/FitCenter'
export { BaseTransform } from './src/main/ets/components/imageknife/transform/BaseTransform'
export { BlurTransformation } from './src/main/ets/components/imageknife/transform/BlurTransformation'
export { BrightnessFilterTransformation } from './src/main/ets/components/imageknife/transform/BrightnessFilterTransformation'
export { ContrastFilterTransformation } from './src/main/ets/components/imageknife/transform/ContrastFilterTransformation'
export { CropCircleTransformation } from './src/main/ets/components/imageknife/transform/CropCircleTransformation'
export { CropCircleWithBorderTransformation,rgbColor } from './src/main/ets/components/imageknife/transform/CropCircleWithBorderTransformation'
export { CropSquareTransformation } from './src/main/ets/components/imageknife/transform/CropSquareTransformation'
export { CropTransformation,CropType } from './src/main/ets/components/imageknife/transform/CropTransformation'
export { GrayscaleTransformation } from './src/main/ets/components/imageknife/transform/GrayscaleTransformation'
export { InvertFilterTransformation } from './src/main/ets/components/imageknife/transform/InvertFilterTransformation'
export { PixelationFilterTransformation } from './src/main/ets/components/imageknife/transform/PixelationFilterTransformation'
export { RotateImageTransformation } from './src/main/ets/components/imageknife/transform/RotateImageTransformation'
export { RoundedCornersTransformation,RoundCorner } from './src/main/ets/components/imageknife/transform/RoundedCornersTransformation'
export { SepiaFilterTransformation } from './src/main/ets/components/imageknife/transform/SepiaFilterTransformation'
export { SketchFilterTransformation } from './src/main/ets/components/imageknife/transform/SketchFilterTransformation'
export { MaskTransformation } from './src/main/ets/components/imageknife/transform/MaskTransformation'
export { SwirlFilterTransformation } from './src/main/ets/components/imageknife/transform/SwirlFilterTransformation'
export { KuwaharaFilterTransform } from './src/main/ets/components/imageknife/transform/KuwaharaFilterTransform'
export { ToonFilterTransform } from './src/main/ets/components/imageknife/transform/ToonFilterTransform'
export { VignetteFilterTransform } from './src/main/ets/components/imageknife/transform/VignetteFilterTransform'
export { TransformUtils } from './src/main/ets/components/imageknife/transform/TransformUtils'
export { TransformType } from './src/main/ets/components/imageknife/transform/TransformType'
export { CenterCrop } from './src/main/ets/components/imageknife/transform/pixelmap/CenterCrop'
export { CenterInside } from './src/main/ets/components/imageknife/transform/pixelmap/CenterInside'
export { FitCenter } from './src/main/ets/components/imageknife/transform/pixelmap/FitCenter'
/**
* pngj
*/
export * from './src/main/ets/components/imageknife/pngj/Pngj'
export { Pngj } from './src/main/ets/components/imageknife/pngj/Pngj'
export {handler} from './PngWork'
export * from './src/main/ets/components/3rd_party/upng/UPNG'
export { UPNG } from './src/main/ets/components/3rd_party/upng/UPNG'
/**
* ImageKnife
*/
export * from './src/main/ets/components/imageknife/ImageKnife'
export * from './src/main/ets/components/imageknife/ImageKnifeGlobal'
export { ImageKnife } from './src/main/ets/components/imageknife/ImageKnife'
export { ImageKnifeGlobal } from './src/main/ets/components/imageknife/ImageKnifeGlobal'
export {RequestOption,Size} from './src/main/ets/components/imageknife/RequestOption'
export * from './src/main/ets/components/imageknife/ImageKnifeComponent'
export * from './src/main/ets/components/imageknife/ImageKnifeDrawFactory'
export { ImageKnifeComponent } from './src/main/ets/components/imageknife/ImageKnifeComponent'
export { ImageKnifeDrawFactory } from './src/main/ets/components/imageknife/ImageKnifeDrawFactory'
export {ImageKnifeOption,CropCircleWithBorder,Crop,GifOptions,TransformOptions} from './src/main/ets/components/imageknife/ImageKnifeOption'
export * from './src/main/ets/components/imageknife/ImageKnifeData'
export type {IAllCacheInfoCallback} from './src/main/ets/components/imageknife/interface/IAllCacheInfoCallback'
export type {AllCacheInfo} from './src/main/ets/components/imageknife/interface/IAllCacheInfoCallback'
export type {IParseImage} from './src/main/ets/components/imageknife/interface/IParseImage'
export type {IDataFetch} from './src/main/ets/components/imageknife/networkmanage/IDataFetch'
export type {ICache} from './src/main/ets/components/imageknife/requestmanage/ICache'
export * from './src/main/ets/components/imageknife/utils/FileTypeUtil'
export * from './src/main/ets/components/imageknife/utils/ParseImageUtil'
export { ImageKnifeData } from './src/main/ets/components/imageknife/ImageKnifeData'
export {IAllCacheInfoCallback} from './src/main/ets/components/imageknife/interface/IAllCacheInfoCallback'
export {AllCacheInfo} from './src/main/ets/components/imageknife/interface/IAllCacheInfoCallback'
export {IParseImage} from './src/main/ets/components/imageknife/interface/IParseImage'
export {IDataFetch} from './src/main/ets/components/imageknife/networkmanage/IDataFetch'
export {ICache} from './src/main/ets/components/imageknife/requestmanage/ICache'
/**
* svg parse
*/
export * from './src/main/ets/components/imageknife/utils/svg/SVGParseImpl'
export { SVGParseImpl } from './src/main/ets/components/imageknife/utils/svg/SVGParseImpl'
/**
* gif parse
*/
export * from './src/main/ets/components/imageknife/utils/gif/GIFParseImpl'
export * from './src/main/ets/components/imageknife/utils/gif/GIFFrame'
export { GIFParseImpl } from './src/main/ets/components/imageknife/utils/gif/GIFParseImpl'
export { GIFFrame } from './src/main/ets/components/imageknife/utils/gif/GIFFrame'
// 能力增强worker 解析GIF数据
export {gifHandler} from './GifWorker'
export { gifHandler } from './GifWorker'
// 自定义组件新增
// 自定义组件绘制生命周期
export type {IDrawLifeCycle} from './src/main/ets/components/imageknife/interface/IDrawLifeCycle'
export { IDrawLifeCycle } from './src/main/ets/components/imageknife/interface/IDrawLifeCycle'
// 日志管理
export * from './src/main/ets/components/imageknife/utils/LogUtil'
export { LogUtil } from './src/main/ets/components/imageknife/utils/LogUtil'

View File

@ -54,7 +54,9 @@ export class ImageKnife {
private diskCacheFolder: string = "ImageKnifeDiskCache"
private defaultListener: AsyncCallback<ImageKnifeData>; // 全局监听器
private defaultListener: AsyncCallback<ImageKnifeData> = {
callback:(err: string, data: ImageKnifeData)=>{return false};
}; // 全局监听器
// gifWorker
private gifWorker: worker.ThreadWorker|undefined = undefined;

View File

@ -371,7 +371,7 @@ export struct ImageKnifeComponent {
}
displayRetryholder = (data: ImageKnifeData|number)=> {
displayRetryholder = (data: ImageKnifeData|number|undefined)=> {
if(data == undefined || typeof data == 'number'){
return
}
@ -393,7 +393,7 @@ export struct ImageKnifeComponent {
}
displayErrorholder = (data: ImageKnifeData|number)=> {
displayErrorholder = (data: ImageKnifeData|number|undefined)=> {
if(data == undefined || typeof data == 'number'){
return
}
@ -617,10 +617,10 @@ export struct ImageKnifeComponent {
this.autoPlay = true
context.clearRect(0, 0, compWidth, compHeight)
this.renderFrames_frames = frames,
this.renderFrames_index = 0,
this.renderFrames_context = context,
this.renderFrames_compWidth = compWidth,
this.renderFrames_frames = frames
this.renderFrames_index = 0
this.renderFrames_context = context
this.renderFrames_compWidth = compWidth
this.renderFrames_compHeight = compHeight
this.renderFrames()
@ -652,7 +652,7 @@ export struct ImageKnifeComponent {
renderFrames_compHeight: number = 0
renderFrames = ()=> {
LogUtil.log('ImageKnifeComponent renderFrames frames length =' + this.renderFrames_frames.length)
LogUtil.log('ImageKnifeComponent renderFrames frames length =' + this.renderFrames_frames?.length)
let start = new Date().getTime();
if (this.renderFrames_index === 0) {
// 如果是第一帧,我们只从开始渲染前记录时间
@ -661,7 +661,7 @@ export struct ImageKnifeComponent {
// draw Frame
this.drawFrame(this.renderFrames_frames, this.renderFrames_index, this.renderFrames_context, this.renderFrames_compWidth, this.renderFrames_compHeight);
//如果gif动图只有一帧的情况下不进行后面代码的逐帧绘制循环
if (this.renderFrames_frames.length <= 1) {
if (this.renderFrames_frames != undefined && this.renderFrames_frames.length <= 1) {
return
}
@ -672,9 +672,12 @@ export struct ImageKnifeComponent {
if (this.autoPlay) {
// 理论上该帧在屏幕上保留的时间
let stayTime = this.renderFrames_frames[this.renderFrames_index].delay;
let stayTime:number= 0
if(this.renderFrames_frames != undefined) {
stayTime = this.renderFrames_frames[this.renderFrames_index].delay;
}
if (this.imageKnifeOption.gif && this.imageKnifeOption.gif.speedFactory) {
stayTime = this.renderFrames_frames[this.renderFrames_index].delay / (this.imageKnifeOption.gif.speedFactory * 1.0);
stayTime = stayTime / (this.imageKnifeOption.gif?.speedFactory * 1.0);
}
// 减去程序执行消耗,剩余的准确延迟时间
let delayTime = Math.max(0, Math.floor(stayTime - diff));
@ -686,26 +689,23 @@ export struct ImageKnifeComponent {
// 整个gif累计的时长;
this.gifLoopDuration += loopStayTime;
// 返回gif一次循环结束回调并且把当前循环的时间给出
if (this.renderFrames_index === (this.renderFrames_frames.length - 1) && this.imageKnifeOption.gif && this.imageKnifeOption.gif.loopFinish) {
if (this.renderFrames_frames != undefined && this.renderFrames_index === (this.renderFrames_frames.length - 1) && this.imageKnifeOption.gif != undefined && this.imageKnifeOption.gif?.loopFinish) {
this.imageKnifeOption.gif.loopFinish(this.gifLoopDuration)
this.gifLoopDuration = 0;
}
// update the frame index
this.renderFrames_index++
if (this.renderFrames_index >= this.renderFrames_frames.length) {
if (this.renderFrames_frames != undefined && this.renderFrames_index >= this.renderFrames_frames.length) {
this.renderFrames_index = 0;
}
// this.renderFrames_frames,
// this.renderFrames_index,
// this.renderFrames_context,
// this.renderFrames_compWidth,
// this.renderFrames_compHeight
this.gifTimerId = setTimeout(this.renderFrames, delayTime)
}
}
private drawFrame(frames: GIFFrame[], index: number, context: CanvasRenderingContext2D, compWidth: number, compHeight: number) {
private drawFrame(frames: GIFFrame[]|undefined, index: number, context: CanvasRenderingContext2D|undefined, compWidth: number, compHeight: number) {
if(frames == undefined){
return
}
// get current frame
let frame = frames[index];
if (!frame || !context) {

View File

@ -46,21 +46,21 @@ export class ImageKnifeDrawFactory{
displayMainSource: (context: CanvasRenderingContext2D, data: ImageKnifeData, imageKnifeOption: ImageKnifeOption, compWidth: number, compHeight: number, setGifTimeId?: (timeId: number) => void) => {
if (data.isPixelMap()) {
data.drawPixelMap.imagePixelMap.getImageInfo().then((imageInfo) => {
data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
let scaleType = (typeof imageKnifeOption.mainScaleType == 'number') ? imageKnifeOption.mainScaleType : ScaleType.FIT_CENTER
context.clearRect(0,0,compWidth,compHeight)
context.save();
// 绘制适配后的图像
context.save();
ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0)
ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0)
context.restore();
// 使用 destination-in 裁剪出椭圆
context.save();
context.globalCompositeOperation = 'destination-in'
context.beginPath();
ImageKnifeDrawFactory.setOval(context, scaleType, data.drawPixelMap.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0,borderWidth)
ImageKnifeDrawFactory.setOval(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0,borderWidth)
context.closePath();
context.fill()
context.restore();
@ -72,7 +72,7 @@ export class ImageKnifeDrawFactory{
context.lineWidth = borderWidth;
context.globalCompositeOperation = 'source-over'
context.beginPath();
ImageKnifeDrawFactory.setOval(context, scaleType, data.drawPixelMap.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0, borderWidth)
ImageKnifeDrawFactory.setOval(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight, 0, 0, borderWidth)
context.closePath();
context.stroke()
context.restore();
@ -108,7 +108,7 @@ export class ImageKnifeDrawFactory{
* @param imageOffsetY
* @param borderWidth
*/
private static setOval(context: CanvasRenderingContext2D, scaleType: ScaleType, source: PixelMap | ImageBitmap, imageWidth: number, imageHeight: number, compWidth: number, compHeight: number, imageOffsetX:number,imageOffsetY:number
private static setOval(context: CanvasRenderingContext2D, scaleType: ScaleType, source: PixelMap | undefined, imageWidth: number, imageHeight: number, compWidth: number, compHeight: number, imageOffsetX:number,imageOffsetY:number
,borderWidth:number) {
let scaleW = compWidth / imageWidth
let scaleH = compHeight / imageHeight
@ -209,7 +209,7 @@ export class ImageKnifeDrawFactory{
displayMainSource: (context: CanvasRenderingContext2D, data: ImageKnifeData, imageKnifeOption: ImageKnifeOption, compWidth: number, compHeight: number, setGifTimeId?: (timeId: number) => void) => {
if (data.isPixelMap()) {
data.drawPixelMap.imagePixelMap.getImageInfo().then((imageInfo) => {
data.drawPixelMap?.imagePixelMap?.getImageInfo().then((imageInfo) => {
let scaleType = (typeof imageKnifeOption.mainScaleType == 'number') ? imageKnifeOption.mainScaleType : ScaleType.FIT_CENTER
context.clearRect(0,0,compWidth,compHeight)
@ -217,13 +217,13 @@ export class ImageKnifeDrawFactory{
// 绘制适配后的图像
context.save();
ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0)
ScaleTypeHelper.drawImageWithScaleType(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0)
context.restore();
// 通过 destination-in 裁剪出圆角
context.save();
context.globalCompositeOperation = 'destination-in'
ImageKnifeDrawFactory.setRect(context, scaleType, data.drawPixelMap.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0,borderWidth,connerRadius)
ImageKnifeDrawFactory.setRect(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0,borderWidth,connerRadius)
context.fill()
context.restore();
if(borderWidth > 0){
@ -232,7 +232,7 @@ export class ImageKnifeDrawFactory{
context.strokeStyle = colorString
context.lineWidth = borderWidth
context.globalCompositeOperation = 'source-over'
ImageKnifeDrawFactory.setRect(context, scaleType, data.drawPixelMap.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0,borderWidth,connerRadius)
ImageKnifeDrawFactory.setRect(context, scaleType, data.drawPixelMap?.imagePixelMap, px2vp(imageInfo.size.width), px2vp(imageInfo.size.height), compWidth, compHeight,0,0,borderWidth,connerRadius)
context.stroke()
context.restore();
}
@ -268,7 +268,7 @@ export class ImageKnifeDrawFactory{
* @param borderWidth
* @param cornerRadius
*/
private static setRect(context: CanvasRenderingContext2D, scaleType: ScaleType, source: PixelMap | ImageBitmap, imageWidth: number, imageHeight: number, compWidth: number, compHeight: number, imageOffsetX:number,imageOffsetY:number
private static setRect(context: CanvasRenderingContext2D, scaleType: ScaleType, source: PixelMap | undefined, imageWidth: number, imageHeight: number, compWidth: number, compHeight: number, imageOffsetX:number,imageOffsetY:number
,borderWidth:number,cornerRadius:number) {
let scaleW = compWidth / imageWidth
let scaleH = compHeight / imageHeight

View File

@ -235,7 +235,7 @@ export class RequestOption {
return this;
}
roundedCorners(obj: RoundCorner) {
roundedCorners(obj: RoundCorner|undefined) {
if(obj == undefined){
return
}
@ -255,7 +255,7 @@ export class RequestOption {
return this;
}
cropCircleWithBorder(border: number, obj: rgbColor) {
cropCircleWithBorder(border: number|undefined, obj: rgbColor|undefined) {
if(border == undefined || obj == undefined){
return
}

View File

@ -38,7 +38,7 @@ export class CompressBuilder {
}
private _mStreamProviders: Array<CompressAdapter> = new Array<CompressAdapter>();
private _mFocusAlpha: boolean = false;
private _outFilePath: string;
private _outFilePath: string = '';
constructor() {
this._mStreamProviders = new Array();
}

View File

@ -84,7 +84,7 @@ export class Engine {
return;
}
let imageResource: image.ImageSource = image.createImageSource(buffer as any);
let imageResource: image.ImageSource = image.createImageSource(buffer);
imageResource.getImageInfo()
.then(info => {
let height = info.size.height;

View File

@ -17,7 +17,7 @@ import { Crop } from './Crop'
import { CropCallback } from './CropCallback'
import { BusinessError } from '@ohos.base'
@Component
struct PixelMapCrop {
export struct PixelMapCrop {
@Watch('watchOptions') @Link options: Options;
@Watch('watchCropTap') @Prop cropTap: boolean = false;
@State bWidth: number = 0;
@ -802,7 +802,7 @@ export class Options {
pixelScale: number = 1;
// 用户裁剪后的回调
cropFunction: (error:BusinessError|string, pixelmap:PixelMap, sx:number, sy:number) => void = (error:BusinessError, pixelmap:PixelMap, sx:number, sy:number)=>{};
cropFunction: (error:BusinessError|string, pixelmap:PixelMap|null, sx:number, sy:number) => void = (error:BusinessError|string, pixelmap:PixelMap|null, sx:number, sy:number)=>{};
// 本地裁剪框 回调
cropAction: (topLeftPoint:number[], bottomRightPoint:number[], scaleInside:number) =>void = (topLeftPoint:number[], bottomRightPoint:number[], scaleInside:number)=>{};
@ -812,7 +812,7 @@ export class Options {
}
// 裁剪动作
setCropFunction(crop: (error:BusinessError, pixelmap:PixelMap, sx:number, sy:number) => void) {
setCropFunction(crop: (error:BusinessError|string, pixelmap:PixelMap|null, sx:number, sy:number) => void) {
this.cropFunction = crop;
this.cropAction = (topLeftPoint:number[], bottomRightPoint:number[], scaleInside:number) => {

View File

@ -13,12 +13,12 @@
* limitations under the License.
*/
import { RequestOption } from '../../imageknife/RequestOption'
import { RequestOption,Size } from '../../imageknife/RequestOption'
import { FileTypeUtil } from '../../imageknife/utils/FileTypeUtil'
import { ImageKnifeData, ImageKnifeType } from '../ImageKnifeData'
import { ParseImageUtil } from '../utils/ParseImageUtil'
import { SupportFormat } from '../utils/FileTypeUtil'
import { SVGParseImpl,Size } from '../utils/svg/SVGParseImpl'
import { SVGParseImpl } from '../utils/svg/SVGParseImpl'
import { ParseResClient } from '../resourcemanage/ParseResClient'
import {LogUtil} from '../../imageknife/utils/LogUtil'
import image from '@ohos.multimedia.image'

View File

@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {RequestOption} from "../../imageknife/RequestOption"
import {RequestOption,Size} from "../../imageknife/RequestOption"
import {ResourceTypeEts} from "../../imageknife/constants/ResourceTypeEts"
import {Base64} from "../../cache/Base64"
import {FileTypeUtil} from "../../imageknife/utils/FileTypeUtil"
@ -20,7 +20,7 @@ import {ImageKnifeData,ImageKnifeType} from "../ImageKnifeData"
import {ParseImageUtil} from '../utils/ParseImageUtil'
import {ParseResClient} from '../resourcemanage/ParseResClient'
import { SupportFormat } from '../utils/FileTypeUtil'
import { SVGParseImpl,Size} from '../utils/svg/SVGParseImpl'
import { SVGParseImpl} from '../utils/svg/SVGParseImpl'
import {LogUtil} from '../../imageknife/utils/LogUtil'
import resourceManager from '@ohos.resourceManager';
import image from "@ohos.multimedia.image"

View File

@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import {RequestOption} from "../../imageknife/RequestOption"
import {RequestOption,Size} from "../../imageknife/RequestOption"
import {ResourceTypeEts} from "../../imageknife/constants/ResourceTypeEts"
import {Base64} from "../../cache/Base64"
import {FileTypeUtil} from "../../imageknife/utils/FileTypeUtil"
@ -20,7 +20,7 @@ import {ImageKnifeData,ImageKnifeType} from "../ImageKnifeData"
import {ParseImageUtil} from '../utils/ParseImageUtil'
import {ParseResClient} from '../resourcemanage/ParseResClient'
import { SupportFormat } from '../utils/FileTypeUtil'
import { SVGParseImpl,Size } from '../utils/svg/SVGParseImpl'
import { SVGParseImpl } from '../utils/svg/SVGParseImpl'
import {LogUtil} from '../../imageknife/utils/LogUtil'
import resourceManager from '@ohos.resourceManager';
import image from "@ohos.multimedia.image"

View File

@ -28,7 +28,7 @@ export class MemoryCacheProxy <K, V> implements ICache<K, V> {
return "Level1MemoryCache"
}
getValue(key: K): V{
getValue(key: K): V|undefined{
return this.mLruCache.get(key);
}
@ -36,7 +36,7 @@ export class MemoryCacheProxy <K, V> implements ICache<K, V> {
this.mLruCache.put(key, value);
}
removeValue(key: K): V{
removeValue(key: K): V|undefined{
return this.mLruCache.remove(key);
}
@ -46,7 +46,7 @@ export class MemoryCacheProxy <K, V> implements ICache<K, V> {
// 外界调用
loadMemoryCache(key: K, isMemoryCacheable: boolean): V{
loadMemoryCache(key: K, isMemoryCacheable: boolean): V | null{
// 是否开启内存缓存
if (!isMemoryCacheable) {
return null;

View File

@ -65,10 +65,10 @@ export class RequestManager {
private mMemoryCacheProxy: MemoryCacheProxy<string, ImageKnifeData>;
private mDiskCacheProxy: DiskCacheProxy;
private mIDataFetch: IDataFetch;
private mIResourceFetch: IResourceFetch;
private mIResourceFetch: IResourceFetch<ArrayBuffer>;
private mParseImageUtil: IParseImage<PixelMap>;
constructor(option: RequestOption, memoryCache1: LruCache<string, ImageKnifeData>, diskMemoryCache1: DiskLruCache, dataFetch: IDataFetch, resourceFetch: IResourceFetch) {
constructor(option: RequestOption, memoryCache1: LruCache<string, ImageKnifeData>, diskMemoryCache1: DiskLruCache, dataFetch: IDataFetch, resourceFetch: IResourceFetch<ArrayBuffer>) {
this.options = option;
// 缓存部分
@ -85,7 +85,7 @@ export class RequestManager {
this.mParseImageUtil = new ParseImageUtil();
}
static execute(option: RequestOption, memoryCache1: LruCache<string, ImageKnifeData>, diskMemoryCache1: DiskLruCache, dataFetch: IDataFetch, resourceFetch: IResourceFetch) {
static execute(option: RequestOption, memoryCache1: LruCache<string, ImageKnifeData>, diskMemoryCache1: DiskLruCache, dataFetch: IDataFetch, resourceFetch: IResourceFetch<ArrayBuffer>) {
LogUtil.log("RequestManager execute")
let manager = new RequestManager(option, memoryCache1, diskMemoryCache1, dataFetch, resourceFetch);
return new Promise<ImageKnifeData>(manager.process)
@ -219,7 +219,7 @@ export class RequestManager {
})
} else {
if (request.transformations[0]) {
request.transformations[0].transform(arrayBuffer, request, {asyncTransform:(error:BusinessError|string, pixelMap: PixelMap) => {
request.transformations[0].transform(arrayBuffer, request, {asyncTransform:(error:BusinessError|string, pixelMap: PixelMap|null) => {
// 输出给Image
if (pixelMap) {
@ -323,7 +323,7 @@ export class RequestManager {
})
let thumbCallback = this.options.thumbholderOnComplete;
let thumbError = this.options.thumbholderOnError;
this.options.transformations[0].transform(source, thumbOption,{asyncTransform: (error:BusinessError|string, pixelMap: PixelMap) => {
this.options.transformations[0].transform(source, thumbOption,{asyncTransform: (error:BusinessError|string, pixelMap: PixelMap|null) => {
if (pixelMap) {
let imageKnifeData = this.createImagePixelMap(ImageKnifeType.PIXELMAP, pixelMap);
thumbCallback(imageKnifeData);
@ -332,7 +332,7 @@ export class RequestManager {
}
}})
setTimeout(()=>{
this.options.transformations[0].transform(source, request, {asyncTransform: (error:BusinessError|string, pixelMap: PixelMap) => {
this.options.transformations[0].transform(source, request, {asyncTransform: (error:BusinessError|string, pixelMap: PixelMap|null) => {
if (pixelMap) {
// 保存一份变换后的图片PixelMap到MemoryCache
let imageKnifeData = this.createImagePixelMap(ImageKnifeType.PIXELMAP, pixelMap);
@ -345,7 +345,7 @@ export class RequestManager {
},this.options.thumbDelayTime);
}
else {
this.options.transformations[0].transform(source, request, {asyncTransform: (error:BusinessError|string, pixelMap: PixelMap) => {
this.options.transformations[0].transform(source, request, {asyncTransform: (error:BusinessError|string, pixelMap: PixelMap|null) => {
if (pixelMap) {
// 保存一份变换后的图片PixelMap到MemoryCache
let imageKnifeData = this.createImagePixelMap(ImageKnifeType.PIXELMAP, pixelMap);
@ -473,7 +473,7 @@ export class RequestManager {
if (this.options.thumbSizeMultiplier) {
this.thumbnailProcess(source, filetype, onComplete, onError);
} else {
this.options.transformations[0].transform(source, this.options, {asyncTransform: (error:BusinessError|string, pixelMap: PixelMap) => {
this.options.transformations[0].transform(source, this.options, {asyncTransform: (error:BusinessError|string, pixelMap: PixelMap|null) => {
if (pixelMap) {
this.saveCacheAndDisk(pixelMap, filetype, onComplete, source);
} else {
@ -543,7 +543,7 @@ export class RequestManager {
})
let thumbCallback = this.options.thumbholderOnComplete
let thumbError = this.options.thumbholderOnError
this.options.transformations[0].transform(source, thumbOption, {asyncTransform: (error:BusinessError|string, pixelMap: PixelMap) => {
this.options.transformations[0].transform(source, thumbOption, {asyncTransform: (error:BusinessError|string, pixelMap: PixelMap|null) => {
if (pixelMap) {
let imageKnifeData = this.createImagePixelMap(ImageKnifeType.PIXELMAP, pixelMap);
thumbCallback(imageKnifeData);
@ -552,7 +552,7 @@ export class RequestManager {
}
}})
setTimeout(() => {
this.options.transformations[0].transform(source, this.options,{asyncTransform: (error:BusinessError|string, pixelMap: PixelMap) => {
this.options.transformations[0].transform(source, this.options,{asyncTransform: (error:BusinessError|string, pixelMap: PixelMap|null) => {
if (pixelMap) {
this.saveCacheAndDisk(pixelMap, filetype, onComplete, source);
} else {

View File

@ -81,7 +81,7 @@ export class BrightnessFilterTransformation implements BaseTransform<PixelMap> {
await data.readPixelsToBuffer(bufferData);
if (request.gpuEnabled) {
let filter = new GPUImageBrightnessFilter();
let filter:GPUImageBrightnessFilter = new GPUImageBrightnessFilter();
filter.setImageData(bufferData, targetWidth, targetHeight);
filter.setBrightness(this._mBrightness);
let buf = await filter.getPixelMapBuf(0, 0, targetWidth, targetHeight);

View File

@ -22,7 +22,7 @@ import { Size } from '../RequestOption'
export namespace CalculatePixelUtils {
export async function sketch(p: PixelMap, func?: AsyncTransform<PixelMap>) {
let imageInfo = await p.getImageInfo();
let size = {
let size:Size = {
width: imageInfo.size.width,
height: imageInfo.size.height
}

View File

@ -38,9 +38,9 @@ export class FileTypeUtil {
getFileType(arraybuffer: ArrayBuffer):string {
let fileType = undefined;
let fileType:string = '';
if (arraybuffer == null || arraybuffer == undefined || arraybuffer.byteLength <= this.READ_MIN_LENGTH) {
return undefined;
return '';
}
let dataView = new DataView(arraybuffer);

View File

@ -67,9 +67,9 @@ export class K2DArray {
/**
* 获取值
*/
public getValue(r: number, c: number): number {
public getValue(r: number, c: number): number|undefined{
if (r < 0 || c < 0 || r >= this.rows || c >= this.columns) {
return;
return undefined;
}
return this._2dArray[r][c];
}

View File

@ -13,7 +13,7 @@
* limitations under the License.
*/
import type {IParseImage} from '../interface/IParseImage'
import {IParseImage} from '../interface/IParseImage'
import image from '@ohos.multimedia.image';
import { BusinessError } from '@ohos.base'
export class ParseImageUtil implements IParseImage<PixelMap> {

View File

@ -31,7 +31,7 @@ export namespace pixelUtils {
height: imageInfo.size.height
}
if (!size) {
func.asyncTransform("GrayscaleTransformation The image size does not exist.", null)
func?.asyncTransform("GrayscaleTransformation The image size does not exist.", null)
return;
}
let targetWidth:number = size.width;

View File

@ -12,7 +12,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import type { IParseGif } from './IParseGif'
import { IParseGif } from './IParseGif'
import { Dims, GIFFrame } from './GIFFrame'
import { LoadType } from '../../../../../../../GifWorker'
import { parseBufferToFrame } from './parse/GIFParse'
@ -169,7 +169,6 @@ export class GIFParseImpl implements IParseGif {
frame['disposalType'] = pages.disposalType[i]
let uint8ClampedArray = new Uint8ClampedArray(pages.patch[i])
frame['patch'] = uint8ClampedArray
pages[i] = new Uint8ClampedArray(0)
frame['transparentIndex'] = pages.transparentIndex[i]
images.push(frame)
}