Full Code of XiuSdk/ZPhotoEngine for AI

master f87d6aa02b9b cached
239 files
1.1 MB
310.0k tokens
527 symbols
1 requests
Download .txt
Showing preview only (1,166K chars total). Download the full file or copy to clipboard to get everything.
Repository: XiuSdk/ZPhotoEngine
Branch: master
Commit: f87d6aa02b9b
Files: 239
Total size: 1.1 MB

Directory structure:
gitextract__5gedzwg/

├── .gitattributes
├── .gitignore
├── README.md
├── ZPHOTOENGINE/
│   ├── Linux/
│   │   └── ZPhotoEngine.h
│   ├── PC/
│   │   ├── DEMO/
│   │   │   └── Release/
│   │   │       └── ZPhotoEngine.lib
│   │   ├── PC-ProjectCodes/
│   │   │   ├── TestDemo/
│   │   │   │   ├── AnisotropicFilterForm.Designer.cs
│   │   │   │   ├── AnisotropicFilterForm.cs
│   │   │   │   ├── AnisotropicFilterForm.resx
│   │   │   │   ├── BlackWhiteForm.Designer.cs
│   │   │   │   ├── BlackWhiteForm.cs
│   │   │   │   ├── BlackWhiteForm.resx
│   │   │   │   ├── BrightContrastForm.Designer.cs
│   │   │   │   ├── BrightContrastForm.cs
│   │   │   │   ├── BrightContrastForm.resx
│   │   │   │   ├── ChannelMixForm.Designer.cs
│   │   │   │   ├── ChannelMixForm.cs
│   │   │   │   ├── ChannelMixForm.resx
│   │   │   │   ├── ColorbalanceForm.Designer.cs
│   │   │   │   ├── ColorbalanceForm.cs
│   │   │   │   ├── ColorbalanceForm.resx
│   │   │   │   ├── DifussionForm.Designer.cs
│   │   │   │   ├── DifussionForm.cs
│   │   │   │   ├── DifussionForm.resx
│   │   │   │   ├── DisplacementFrom.Designer.cs
│   │   │   │   ├── DisplacementFrom.cs
│   │   │   │   ├── DisplacementFrom.resx
│   │   │   │   ├── ExposureForm.Designer.cs
│   │   │   │   ├── ExposureForm.cs
│   │   │   │   ├── ExposureForm.resx
│   │   │   │   ├── FilterForm.Designer.cs
│   │   │   │   ├── FilterForm.cs
│   │   │   │   ├── FilterForm.resx
│   │   │   │   ├── Form1.Designer.cs
│   │   │   │   ├── Form1.cs
│   │   │   │   ├── Form1.resx
│   │   │   │   ├── GammaForm.Designer.cs
│   │   │   │   ├── GammaForm.cs
│   │   │   │   ├── GammaForm.resx
│   │   │   │   ├── GaussBlurForm.Designer.cs
│   │   │   │   ├── GaussBlurForm.cs
│   │   │   │   ├── GaussBlurForm.resx
│   │   │   │   ├── HSLForm.Designer.cs
│   │   │   │   ├── HSLForm.cs
│   │   │   │   ├── HSLForm.resx
│   │   │   │   ├── HighlightShadowForm.Designer.cs
│   │   │   │   ├── HighlightShadowForm.cs
│   │   │   │   ├── HighlightShadowForm.resx
│   │   │   │   ├── HighpassForm.Designer.cs
│   │   │   │   ├── HighpassForm.cs
│   │   │   │   ├── HighpassForm.resx
│   │   │   │   ├── HistagramForm.Designer.cs
│   │   │   │   ├── HistagramForm.cs
│   │   │   │   ├── HistagramForm.resx
│   │   │   │   ├── ImageProcessId.cs
│   │   │   │   ├── LevelForm.Designer.cs
│   │   │   │   ├── LevelForm.cs
│   │   │   │   ├── LevelForm.resx
│   │   │   │   ├── MaxForm.Designer.cs
│   │   │   │   ├── MaxForm.cs
│   │   │   │   ├── MaxForm.resx
│   │   │   │   ├── MeanBlurForm.Designer.cs
│   │   │   │   ├── MeanBlurForm.cs
│   │   │   │   ├── MeanBlurForm.resx
│   │   │   │   ├── MedianForm.Designer.cs
│   │   │   │   ├── MedianForm.cs
│   │   │   │   ├── MedianForm.resx
│   │   │   │   ├── MessageForm.Designer.cs
│   │   │   │   ├── MessageForm.cs
│   │   │   │   ├── MessageForm.resx
│   │   │   │   ├── MinForm.Designer.cs
│   │   │   │   ├── MinForm.cs
│   │   │   │   ├── MinForm.resx
│   │   │   │   ├── MosciaForm.Designer.cs
│   │   │   │   ├── MosciaForm.cs
│   │   │   │   ├── MosciaForm.resx
│   │   │   │   ├── MotionBlurForm.Designer.cs
│   │   │   │   ├── MotionBlurForm.cs
│   │   │   │   ├── MotionBlurForm.resx
│   │   │   │   ├── NSaturationForm.Designer.cs
│   │   │   │   ├── NSaturationForm.cs
│   │   │   │   ├── NSaturationForm.resx
│   │   │   │   ├── PosterizeForm.Designer.cs
│   │   │   │   ├── PosterizeForm.cs
│   │   │   │   ├── PosterizeForm.resx
│   │   │   │   ├── Program.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   │   ├── Resources.Designer.cs
│   │   │   │   │   ├── Resources.resx
│   │   │   │   │   ├── Settings.Designer.cs
│   │   │   │   │   └── Settings.settings
│   │   │   │   ├── RadialBlurForm.Designer.cs
│   │   │   │   ├── RadialBlurForm.cs
│   │   │   │   ├── RadialBlurForm.resx
│   │   │   │   ├── ReliefForm.Designer.cs
│   │   │   │   ├── ReliefForm.cs
│   │   │   │   ├── ReliefForm.resx
│   │   │   │   ├── RotateForm.Designer.cs
│   │   │   │   ├── RotateForm.cs
│   │   │   │   ├── RotateForm.resx
│   │   │   │   ├── SmartBlurForm.Designer.cs
│   │   │   │   ├── SmartBlurForm.cs
│   │   │   │   ├── SmartBlurForm.resx
│   │   │   │   ├── SurfaceBlurForm.Designer.cs
│   │   │   │   ├── SurfaceBlurForm.cs
│   │   │   │   ├── SurfaceBlurForm.resx
│   │   │   │   ├── TempreatureForm.Designer.cs
│   │   │   │   ├── TempreatureForm.cs
│   │   │   │   ├── TempreatureForm.resx
│   │   │   │   ├── TestDemo.csproj
│   │   │   │   ├── TestDemo.csproj.user
│   │   │   │   ├── ThresholdForm.Designer.cs
│   │   │   │   ├── ThresholdForm.cs
│   │   │   │   ├── ThresholdForm.resx
│   │   │   │   ├── USMForm.Designer.cs
│   │   │   │   ├── USMForm.cs
│   │   │   │   ├── USMForm.resx
│   │   │   │   ├── ZPhotoEngineDll.cs
│   │   │   │   ├── ZoomBlurForm.Designer.cs
│   │   │   │   ├── ZoomBlurForm.cs
│   │   │   │   ├── ZoomBlurForm.resx
│   │   │   │   ├── ZoomForm.Designer.cs
│   │   │   │   ├── ZoomForm.cs
│   │   │   │   ├── ZoomForm.resx
│   │   │   │   ├── app.config
│   │   │   │   ├── bin/
│   │   │   │   │   └── Release/
│   │   │   │   │       ├── TestDemo.exe.config
│   │   │   │   │       ├── TestDemo.pdb
│   │   │   │   │       ├── TestDemo.vshost.exe.config
│   │   │   │   │       ├── TestDemo.vshost.exe.manifest
│   │   │   │   │       ├── ZPhotoEngine.exp
│   │   │   │   │       └── ZPhotoEngine.lib
│   │   │   │   └── obj/
│   │   │   │       └── x86/
│   │   │   │           ├── Debug/
│   │   │   │           │   ├── TestDemo.AnisotropicFilterForm.resources
│   │   │   │           │   ├── TestDemo.BlackWhiteForm.resources
│   │   │   │           │   ├── TestDemo.BrightContrastForm.resources
│   │   │   │           │   ├── TestDemo.ChannelMixForm.resources
│   │   │   │           │   ├── TestDemo.ColorbalanceForm.resources
│   │   │   │           │   ├── TestDemo.DifussionForm.resources
│   │   │   │           │   ├── TestDemo.ExposureForm.resources
│   │   │   │           │   ├── TestDemo.FilterForm.resources
│   │   │   │           │   ├── TestDemo.Form1.resources
│   │   │   │           │   ├── TestDemo.GammaForm.resources
│   │   │   │           │   ├── TestDemo.GaussBlurForm.resources
│   │   │   │           │   ├── TestDemo.HSLForm.resources
│   │   │   │           │   ├── TestDemo.HighlightShadowForm.resources
│   │   │   │           │   ├── TestDemo.HighpassForm.resources
│   │   │   │           │   ├── TestDemo.HistagramForm.resources
│   │   │   │           │   ├── TestDemo.LevelForm.resources
│   │   │   │           │   ├── TestDemo.MaxForm.resources
│   │   │   │           │   ├── TestDemo.MeanBlurForm.resources
│   │   │   │           │   ├── TestDemo.MedianForm.resources
│   │   │   │           │   ├── TestDemo.MessageForm.resources
│   │   │   │           │   ├── TestDemo.MinForm.resources
│   │   │   │           │   ├── TestDemo.MosciaForm.resources
│   │   │   │           │   ├── TestDemo.MotionBlurForm.resources
│   │   │   │           │   ├── TestDemo.NSaturationForm.resources
│   │   │   │           │   ├── TestDemo.PosterizeForm.resources
│   │   │   │           │   ├── TestDemo.Properties.Resources.resources
│   │   │   │           │   ├── TestDemo.RadialBlurForm.resources
│   │   │   │           │   ├── TestDemo.ReliefForm.resources
│   │   │   │           │   ├── TestDemo.RotateForm.resources
│   │   │   │           │   ├── TestDemo.SmartBlurForm.resources
│   │   │   │           │   ├── TestDemo.SurfaceBlurForm.resources
│   │   │   │           │   ├── TestDemo.TempreatureForm.resources
│   │   │   │           │   ├── TestDemo.ThresholdForm.resources
│   │   │   │           │   ├── TestDemo.USMForm.resources
│   │   │   │           │   ├── TestDemo.ZoomBlurForm.resources
│   │   │   │           │   ├── TestDemo.ZoomForm.resources
│   │   │   │           │   ├── TestDemo.csproj.FileListAbsolute.txt
│   │   │   │           │   ├── TestDemo.csproj.GenerateResource.Cache
│   │   │   │           │   └── TestDemo.csprojResolveAssemblyReference.cache
│   │   │   │           └── Release/
│   │   │   │               ├── DesignTimeResolveAssemblyReferencesInput.cache
│   │   │   │               ├── TestDemo.AnisotropicFilterForm.resources
│   │   │   │               ├── TestDemo.BlackWhiteForm.resources
│   │   │   │               ├── TestDemo.BrightContrastForm.resources
│   │   │   │               ├── TestDemo.ChannelMixForm.resources
│   │   │   │               ├── TestDemo.ColorbalanceForm.resources
│   │   │   │               ├── TestDemo.DifussionForm.resources
│   │   │   │               ├── TestDemo.DisplacementFrom.resources
│   │   │   │               ├── TestDemo.ExposureForm.resources
│   │   │   │               ├── TestDemo.FilterForm.resources
│   │   │   │               ├── TestDemo.Form1.resources
│   │   │   │               ├── TestDemo.GammaForm.resources
│   │   │   │               ├── TestDemo.GaussBlurForm.resources
│   │   │   │               ├── TestDemo.HSLForm.resources
│   │   │   │               ├── TestDemo.HighlightShadowForm.resources
│   │   │   │               ├── TestDemo.HighpassForm.resources
│   │   │   │               ├── TestDemo.HistagramForm.resources
│   │   │   │               ├── TestDemo.LevelForm.resources
│   │   │   │               ├── TestDemo.MaxForm.resources
│   │   │   │               ├── TestDemo.MeanBlurForm.resources
│   │   │   │               ├── TestDemo.MedianForm.resources
│   │   │   │               ├── TestDemo.MessageForm.resources
│   │   │   │               ├── TestDemo.MinForm.resources
│   │   │   │               ├── TestDemo.MosciaForm.resources
│   │   │   │               ├── TestDemo.MotionBlurForm.resources
│   │   │   │               ├── TestDemo.NSaturationForm.resources
│   │   │   │               ├── TestDemo.PosterizeForm.resources
│   │   │   │               ├── TestDemo.Properties.Resources.resources
│   │   │   │               ├── TestDemo.RadialBlurForm.resources
│   │   │   │               ├── TestDemo.ReliefForm.resources
│   │   │   │               ├── TestDemo.RotateForm.resources
│   │   │   │               ├── TestDemo.SmartBlurForm.resources
│   │   │   │               ├── TestDemo.SurfaceBlurForm.resources
│   │   │   │               ├── TestDemo.TempreatureForm.resources
│   │   │   │               ├── TestDemo.ThresholdForm.resources
│   │   │   │               ├── TestDemo.USMForm.resources
│   │   │   │               ├── TestDemo.ZoomBlurForm.resources
│   │   │   │               ├── TestDemo.ZoomForm.resources
│   │   │   │               ├── TestDemo.csproj.FileListAbsolute.txt
│   │   │   │               ├── TestDemo.csproj.GenerateResource.Cache
│   │   │   │               ├── TestDemo.csprojResolveAssemblyReference.cache
│   │   │   │               └── TestDemo.pdb
│   │   │   ├── TestDemo.sln
│   │   │   └── TestDemo.suo
│   │   ├── ZPhotoEngine.h
│   │   └── library/
│   │       ├── MixedPlatform/
│   │       │   └── ZPhotoEngine.lib
│   │       ├── ReadMe.txt
│   │       ├── ZPhotoEngine.h
│   │       └── x86/
│   │           └── ZPhotoEngine.lib
│   ├── ZPhotoEngine_IO/
│   │   ├── PC_LIB/
│   │   │   ├── ZPhotoEngineIO.lib
│   │   │   └── inc/
│   │   │       ├── SFBITMAP.h
│   │   │       ├── SFImageReadWrite.h
│   │   │       └── f_error.h
│   │   └── ZPhotoIODEMO/
│   │       ├── Debug/
│   │       │   └── ImageReadDemo.lib
│   │       ├── ZPhotoIODEMO/
│   │       │   ├── SFBITMAP.h
│   │       │   ├── SFImageReadWrite.h
│   │       │   ├── ZPhotoIODEMO.vcxproj
│   │       │   ├── ZPhotoIODEMO.vcxproj.filters
│   │       │   ├── ZPhotoIODEMO.vcxproj.user
│   │       │   ├── f_error.h
│   │       │   ├── main.cpp
│   │       │   ├── stdafx.cpp
│   │       │   ├── stdafx.h
│   │       │   └── targetver.h
│   │       ├── ZPhotoIODEMO.sln
│   │       └── ZPhotoIODEMO.suo
│   └── android/
│       ├── ReadMe.txt
│       └── ZPHOTO/
│           └── PhotoEngine.java
├── ZPhotoEngine.h
└── ZPhotoEngineSDK开发文档.doc

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitattributes
================================================
# Auto detect text files and perform LF normalization
* text=auto

# Custom for Visual Studio
*.cs     diff=csharp

# Standard to msysgit
*.doc	 diff=astextplain
*.DOC	 diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot  diff=astextplain
*.DOT  diff=astextplain
*.pdf  diff=astextplain
*.PDF	 diff=astextplain
*.rtf	 diff=astextplain
*.RTF	 diff=astextplain


================================================
FILE: .gitignore
================================================
# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

# =========================
# Operating System Files
# =========================

# OSX
# =========================

.DS_Store
.AppleDouble
.LSOverride

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk


================================================
FILE: README.md
================================================
# ZPhotoEngine
ZPhotoEngine is a special image processing library for free. It has a lot of features like photoshop.


================================================
FILE: ZPHOTOENGINE/Linux/ZPhotoEngine.h
================================================
/*****************************************************************************
Copyright:    Trent
File name:    ZPhotoEngine.h
Description:  ZPHOTO ENGINE LIBRARY FOR IMAGE PROCESSING LIKE PS
Author:       Trent
Version:      V3.6
Date:         2017-08-17
Mail:         dongtingyueh@163.com
*****************************************************************************/

#ifndef __T_PHOTOENGINE__
#define __T_PHOTOENGINE__

//////////////////////////////////////////////////////////////////////////////
//ͼģʽ
const int BLEND_MODE_DARKEN                                       =  1;
const int BLEND_MODE_MULTIPLY                                     =  2;
const int BLEND_MODE_COLORBURN                                    =  3;
const int BLEND_MODE_LINEARBURN                                   =  4;
const int BLEND_MODE_DARKNESS                                     =  5;
const int BLEND_MODE_LIGHTEN                                      =  6;
const int BLEND_MODE_SCREEN                                       =  7;
const int BLEND_MODE_COLORDODGE                                   =  8;
const int BLEND_MODE_COLORLINEARDODGE                             =  9;
const int BLEND_MODE_LIGHTCOLOR                                   =  10;
const int BLEND_MODE_OVERLAY                                      =  11;
const int BLEND_MODE_SOFTLIGHT                                    =  12;
const int BLEND_MODE_HARDLIGHT                                    =  13;
const int BLEND_MODE_VIVIDLIGHT                                   =  14;
const int BLEND_MODE_LINEARLIGHT                                  =  15;
const int BLEND_MODE_PINLIGHT                                     =  16;
const int BLEND_MODE_SOLIDCOLORMIXING                             =  17;
const int BLEND_MODE_DIFFERENCE                                   =  18;
const int BLEND_MODE_EXCLUSION                                    =  19;
const int BLEND_MODE_SUBTRACTION                                  =  20;
const int BLEND_MODE_DIVIDE                                       =  21;
///////////////////////////////////////////////////////////////////////////////
#ifdef _MSC_VER

#ifdef __cplusplus
#define EXPORT extern "C" _declspec(dllexport)
#else
#define EXPORT __declspec(dllexport)
#endif

    //
	/*************************************************
	Function:    ZPHOTO_Saturation
	Description: Ͷȵ.
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 saturation-ͶֵΧ[0,512]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Saturation(unsigned char* srcData,int width, int height, int stride, int saturation);
	/*************************************************
	Function:    ZPHOTO_Posterize
	Description: ɫ.
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 clusterNum-ɫΧ[2,255]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Posterize(unsigned char *srcData, int width, int height, int stride, int clusterNum);
	/*************************************************
	Function:    ZPHOTO_OverExposure
	Description: ع.
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_OverExposure(unsigned char *srcData, int width, int height, int stride);//ع
	/*************************************************
	Function:    ZPHOTO_Lightness    
	Description: ȵ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 lightness-ֵΧ[-100,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Lightness(unsigned char* srcData,int width, int height, int stride, int lightness);//ȵ
	/*************************************************
	Function:    ZPHOTO_Invert
	Description: 
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Invert(unsigned char *srcData, int width, int height, int stride);//
	/*************************************************
	Function:    ZPHOTO_HueAndSaturation
	Description: ɫ౥Ͷȵ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 hue-ɫֵΧ[-180,180]
				 saturation-ͶֵΧΪ[-100,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_HueAndSaturation(unsigned char* srcData,int width, int height, int stride,int hue, int saturation);//ɫ౥Ͷȵ
	/*************************************************
	Function:    ZPHOTO_HistagramEqualize
	Description: ɫ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_HistagramEqualize(unsigned char* srcData,int width, int height, int stride);//ɫ
	/*************************************************
	Function:    ZPHOTO_Desaturate
	Description: ȥɫ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 ratio-ȥɫ̶ȣ[0-100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Desaturate(unsigned char *srcData, int width, int height, int stride, int ratio);//ȥɫ
   /*************************************************
	Function:    ZPHOTO_Curve
	Description: ߵ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 destChannel-ͨѡGrayͨ-0Rͨ-1Gͨ-2Bͨ-3
				 knotsPos-XY飺ʼ+м+ĩβ㣬һspline
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Curve(unsigned char* srcData, int width, int height, int stride, int dstChannel, int knotsPos[6]);

	/*************************************************
	Function:    ZPHOTO_CurveLevel
	Description: ɫ׵
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 destChannel-ͨѡGrayͨ-0Rͨ-1Gͨ-2Bͨ-3
				 inputLeftLimit-СֵΧ[0,255]
				 inputMiddle-мֵΧ[0,9.99]
				 inputRightLimit-ֵΧ[0,255]
				 outputLeftLimit-СֵΧ[0,255]
				 outputRightLimit-ֵΧ[0,255]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ColorLevel(unsigned char * srcData , int width, int height ,int stride , int destChannel, unsigned char inputLeftLimit, float inputMiddle, unsigned char inputRightLimit, unsigned char outputLeftLimit , unsigned char outputRightLimit);//ɫ׵
	/*************************************************
	Function:    ZPHOTO_NLinearBrightContrastAdjust
	Description: ȶԱȶȵ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 brightness-ֵΧ[-255,255]
				 contrast-ԱȶֵΧ[-100,100]
				 threshold-ֵΧ[0,255]ĬֵΪ128
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_LinearBrightContrast(unsigned char* srcData,int width,int height,int stride,int bright,int contrast,int threshold);//ȶԱȶȵ
	/*************************************************
	Function:    ZPHOTO_LinearBrightContrast
	Description: ȶԱȶȵ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 brightness-ֵΧ[-100,100]
				 contrast-ԱȶֵΧ[-100,100]
				 threshold-ֵΧ[0,255]ĬֵΪ128
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_NLinearBrightContrast(unsigned char* srcData,int width, int height, int stride, int brightness, int contrast,int threshold);//ȶԱȶȵ
	/*************************************************
	Function:    ZPHOTO_Blackwhite
	Description: ڰ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 kRed-ɫ,Χ[-200,300]
				 kGreen-ɫ,Χ[-200,300]
				 kBlue-ɫ,Χ[-200,300]
				 kYellow-ɫ,Χ[-200,300]
				 kCyan-ɫ,Χ[-200,300]
				 kMagenta-,Χ[-200,300]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_Blackwhite(unsigned char *srcData, int width, int height, int stride, int kRed, int kGreen, int kBlue, int kYellow, int kCyan, int kMagenta);//ڰ

	/*************************************************
	Function:    ZPHOTO_AutoContrast
	Description: ԶԱȶȵ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_AutoContrast(unsigned char *srcData, int width, int height, int stride);//ԶԱȶ
	/*************************************************
	Function:    ZPHOTO_AutoContrastAdjustWithParameters
	Description: ƵԶԱȶȵ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 shadowCorrectRatio-Ӱ޼Χ[0.00,9.99]
				 highlightCorrectRatio-߹޼Χ[0.00,9.99]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_AutoContrastAdjustWithParameters(unsigned char *srcData, int width, int height, int stride, float shadowCorrectRatio, float highlightCorrectRatio);//ԶԱȶ
	/*************************************************
	Function:    ZPHOTO_AutoColorGradation
	Description: Զɫ׵
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_AutoColorGradation(unsigned char *srcData, int width, int height, int stride);//Զɫ
	/*************************************************
	Function:    ZPHOTO_AutoColorGradationAdjustWithParameters
	Description: ƵԶɫ׵
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 shadowCorrectRatio-Ӱ޼Χ[0.00,9.99]
				 highlightCorrectRatio-߹޼Χ[0.00,9.99]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_AutoColorGradationAdjustWithParameters(unsigned char *srcData, int width, int height, int stride, float shadowCorrectRatio, float highlightCorrectRatio);//Զɫ
	/*************************************************
	Function:    ZPHOTO_Threshold
	Description: ֵ(ֵ)
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 threshold-ֵΧ[0,255]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Threshold(unsigned char *srcData, int width, int height, int stride, int threshold);//ֵ
	/*************************************************
	Function:    ZPHOTO_ChannelMixProcess
	Description: ͨ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 channel-Red-0,Green-1,Blue-2,Gray-3
				 kr-RedͨΧ[-200,200]
				 kg-GreenͨΧ[-200,200]
				 kb-BlueͨΧ[-200,200]
				 N-ڱΧ[-200,200]
				 singleColor-Ƿɫɫ-trueɫ-false
				 constAdjust-Ƿִгڣ-true,-false
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ChannelMixProcess(unsigned char* srcData, int width, int height, int stride, int channel, int kr, int kg, int kb, int N, bool singleColor, bool constAdjust);
	/*************************************************
	Function:    ZPHOTO_FastestGaussFilter
	Description: ٸ˹ģ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 radius-˹ģ뾶Χ[0,1000]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_FastestGaussFilter(unsigned char* srcData,int width, int height,int stride,float radius);//˹˲
	/*************************************************
	Function:    ZPHOTO_HighPass
	Description: ߷
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 radius-˹ģ뾶Χ[0,1000]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_HighPass(unsigned char* srcData,int width, int height,int stride,float mRadius);//߷
	/*************************************************
	Function:    ZPHOTO_USM
	Description: USM
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 radius-˹뾶ΧΪ[0,1000]
				 amount-񻯳̶ȣΧΪ[0,500]
				 threshold-ֵΧΪ[0,255]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_USM(unsigned char* srcData,int width, int height,int stride,float radius, int amount, int threshold);
	/*************************************************
	Function:    ZPHOTO_FindEdges
	Description: ұԵ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_FindEdges(unsigned char *srcData, int width, int height,int stride);//ұԵ
	/////////////////////////////////////////////////////////////////////////////////////////////////////
    
    //ͼϹ
	/*************************************************
	Function:    ZPHOTO_ModeDarken
	Description: 䰵ģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeDarken(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeMultiply
	Description: Ƭģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeMultiply(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeColorBurn
	Description: ɫģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeColorBurn(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeLinearBurn
	Description: Խģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeLinearBurn(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeDarkness
	Description: ɫģʽ
	Input:       baseRed-RֵΧ[0,255]ִкΪ
				 baseGreen-GֵΧ[0,255]ִкΪ
				 baseBlue-BֵΧ[0,255]ִкΪ
				 mixRed-RֵΧ[0,255]
				 mixRed-GֵΧ[0,255]
				 mixRed-BֵΧ[0,255]
	Output:      .
	Return:      0-ɹʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeDarkness(int *baseRed,int *baseGreen,int *baseBlue,int mixRed,int mixGreen,int mixBlue);
	/*************************************************
	Function:    ZPHOTO_ModeLighten
	Description: ģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeLighten(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeScreen
	Description: ɫģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeScreen(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeColorDodge
	Description: ɫģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeColorDodge(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeColorLinearDodge
	Description: ɫԼģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeColorLinearDodge(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeLightColor
	Description: dzɫģʽ
	Input:       baseRed-RֵΧ[0,255]ִкΪ
				 baseGreen-GֵΧ[0,255]ִкΪ
				 baseBlue-BֵΧ[0,255]ִкΪ
				 mixRed-RֵΧ[0,255]
				 mixRed-GֵΧ[0,255]
				 mixRed-BֵΧ[0,255]
	Output:      .
	Return:      0-ɹʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeLightColor(int *baseRed,int *baseGreen,int *baseBlue,int mixRed,int mixGreen,int mixBlue);
	/*************************************************
	Function:    ZPHOTO_ModeOverlay
	Description: ģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeOverlay(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeSoftLight
	Description: ģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeSoftLight(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeHardLight
	Description: ǿģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeHardLight(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeVividLight
	Description: ģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeVividLight(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeLinearLight
	Description: Թģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeLinearLight(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModePinLight
	Description: ģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModePinLight(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeSolidColorMixing
	Description: ʵɫģʽ
	Input:       baseRed-RֵΧ[0,255]ִкΪ
				 baseGreen-GֵΧ[0,255]ִкΪ
				 baseBlue-BֵΧ[0,255]ִкΪ
				 mixRed-RֵΧ[0,255]
				 mixRed-GֵΧ[0,255]
				 mixRed-BֵΧ[0,255]
	Output:      .
	Return:      0-ɹʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeSolidColorMixing(int *baseRed,int *baseGreen,int *baseBlue,int mixRed,int mixGreen,int mixBlue);
	/*************************************************
	Function:    ZPHOTO_ModeDifference
	Description: ֵģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeDifference(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeExclusion
	Description: ųģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeExclusion(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeSubtraction
	Description: ȥģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeSubtraction(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeDivide
	Description: ģʽ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeDivide(int basePixel,int mixPixel);
	/*************************************************
	Function:    ZPHOTO_ModeDesaturate
	Description: ȥɫ
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeDesaturate(int red,int green,int blue);
	/*************************************************
	Function:    ZPHOTO_ModeColorInvert
	Description: 
	Input:       basePixel-ֵΧ[0,255]
	             mixPixel-ֵΧ[0,255]
	Output:      .
	Return:      ͼϽֵΧ[0,255].
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ModeColorInvert(int *red,int *green,int *blue);
	/*************************************************
	Function:    ZPHOTO_ImageBlendEffect
	Description: ͼ
	Input:       baseData-ͼͼBufferʽΪ32λBGRA
	             width-ͼ
				 height-ͼ߶
				 stride-ͼStride
				 mixData-ͼͼBufferСͼͼһ
				 blendMode-ͼģʽ
	Output:      .
	Return:      0-ɹʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_ImageBlendEffect(unsigned char* baseData, int width, int height, int stride, unsigned char* mixData, int blendMode);
    /////////////////////////////////////////////////////////////////////////////////////////////////////
    
    //չ
	/*************************************************
	Function:    ZPHOTO_ColorTemperature
	Description: ɫµ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 intensity-ɫǿȣΧ[-50,50]intensity < 0ɫintensity = 0,ԭͼintensity > 0ůɫ
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ColorTemperature(unsigned char* srcData,int width, int height, int stride, int intensity);
	/*************************************************
	Function:    ZPHOTO_Shadow 
	Description: Ӱ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 intensity-ӰǿֵȡֵΧΪ[0,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Shadow(unsigned char* srcData,int width, int height, int stride, int intensity);
	/*************************************************
	Function:    ZPHOTO_Highlight
	Description: ߹
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 intensity--߹ǿֵȡֵΧΪ[0,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Highlight(unsigned char* srcData,int width, int height, int stride, int intensity);
	/*************************************************
	Function:    ZPHOTO_HighlightShadowPrecise
	Description: ߹Ӱ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 highlight--߹ǿֵȡֵΧΪ[-200,100]
				 shadow-ӰǿֵȡֵΧΪ[-200,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_HighlightShadowPrecise(unsigned char* srcData,int width, int height, int stride, float highlight, float shadow);
	/*************************************************
	Function:    ZPHOTO_Exposure
	Description: ع
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 intensity--عǿֵȡֵΧΪ[0,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_Exposure(unsigned char* srcData,int width, int height, int stride, int intensity);
	/*************************************************
	Function:    ZPHOTO_CalcWH
	Description: ͼ任֮Ŀ߼任HýӿZPHOTO_ImageTransformation       
	Input:	     inputImgSize--ͼϢ
				 angle--תǶֵȡֵΧΪ[-360-360]
				 scale--ű任ֵȡֵ0
				 transform_method--任
									 transform_scaleű任, ȡֵΪ0
									 transform_rotationת任, ȡֵΪ1   
									 transform_rotation_scaleת任, ȡֵΪ2
									 transform_affine任, ȡֵΪ3
									 transform_mirror_hˮƽ任, ȡֵΪ4
									 transform_mirror_vֱ任, ȡֵΪ5
									 transform_offsetƽƱ任, ȡֵΪ6
				 outputImgSize--ͼϢ
				 H--任飬Ϊ6
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_CalcWH( int inputImgSize[2], float angle, float scale, int transform_method, int outputImgSize[2],float H[]);
	/*************************************************
	Function:    ZPHOTO_ImageTransformation
	Description: ͼ任
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             srcImgSize--ԭʼͼϢ
                 dstData--ͼBufferСɽӿZPHOTO_CalcWH
				 dstImgSize--ĿͼϢ
				 H--任飬Ϊ6
				 Interpolation_method--ֵѡinterpolation_bilinear,interpolation_nearest
				 Transform_method--任
									 transform_scaleű任, ȡֵΪ0
									 transform_rotationת任, ȡֵΪ1   
									 transform_rotation_scaleת任, ȡֵΪ2
									 transform_affine任, ȡֵΪ3
									 transform_mirror_hˮƽ任, ȡֵΪ4
									 transform_mirror_vֱ任, ȡֵΪ5
									 transform_offsetƽƱ任, ȡֵΪ6
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_ImageTransformation(unsigned char *srcData, int srcImgSize[2], unsigned char *dstData, int dstImgSize[2], float H[], int Interpolation_method, int Transform_method);
	/*************************************************
	Function:    ZPHOTO_FastMeanFilter
	Description: ֵģ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 radius--ֵ˲뾶ȡֵΧΪ[0,width / 2]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_FastMeanFilter(unsigned char* srcData, int width, int height ,int stride, int radius);
	/*************************************************
	Function:    ZPHOTO_SobelFilter
	Description: SobelԵ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_SobelFilter(unsigned char *srcData, int width, int height,int stride);

	//For Android Development
	/*************************************************
	Function:    ZPHOTO_RGBA2BGRA
	Description: RGBAʽתBGRAʽҪΪandroid
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_RGBA2BGRA(unsigned char* srcData, int width, int height, int stride);
	/*************************************************
	Function:    ZPHOTO_BGRA2RGBA
	Description: BGRAʽתRGBAʽҪΪandroid
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
    EXPORT int ZPHOTO_BGRA2RGBA(unsigned char* srcData, int width, int height, int stride);

	/*************************************************
	Function:    ZPHOTO_Fragment
	Description: Ƭ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_Fragment(unsigned char *srcData, int width, int height, int stride);
	/*************************************************
	Function:    ZPHOTO_MotionBlur
	Description: ˶ģ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 angle-˶ģǶֵȡֵΧΪ[0,360]
				 distance-˶ģֵȡֵΧΪ[0,200]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_MotionBlur(unsigned char* srcData,int width, int height, int stride, int angle, int distance);
	/*************************************************
	Function:    ZPHOTO_SurfaceBlur
	Description: ģ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 threshold-ģֵֵȡֵΧΪ[0,255]
				 radius-ģ뾶ֵȡֵΧΪ[0,10]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_SurfaceBlur(unsigned char *srcData, int width, int height, int stride,int threshold, int radius);
	/*************************************************
	Function:    ZPHOTO_RadialBlur
	Description: תģ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 cenX-ѡģX
				 cenY-תģY
				 amount-תģ̶ΧΪ[1-100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_RadialBlur(unsigned char* srcData, int width, int height ,int stride, int cenX, int cenY, int amount);
	/*************************************************
	Function:    ZPHOTO_ZoomBlur
	Description: ģ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 cenX-ģX
				 cenY-ģY
				 sampleRadius-ģ뾶ΧΪ[0-255]
				 amount-ģ̶,ΧΪ[1-100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_ZoomBlur(unsigned char* srcData, int width, int height ,int stride, int cenX, int cenY, int sampleRadius, int amount);
	/*************************************************
	Function:    ZPHOTO_Relief
	Description: 
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶   
				 stride-ԭʼͼStride
				 angle-ǶȣΧΪ[0-360]
				 amount-̶,ΧΪ[0-500]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_Relief(unsigned char *srcData, int width, int height, int stride, int angle, int amount);
	/*************************************************
	Function:    ZPHOTO_Mean
	Description: ƽ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_Mean(unsigned char *srcData, int width, int height, int stride);
	/*************************************************
	Function:    ZPHOTO_Mosaic
	Description: 
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 size-Mosaic뾶,ΧΪ[0,200]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_Mosaic(unsigned char* srcData, int width, int height, int stride, int size);
	/*************************************************
	Function:    ZPHOTO_ColorBalance
	Description: ɫƽ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 cyan-ɫΧΪ[-100,100]
				 magenta-죬ΧΪ[-100,100]
				 yellow-ɫΧΪ[-100,100]
				 channel-ͨѡRGB-0,R-1,G-2,B-3
				 preserveLuminosity-true:ȣfalse:
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_ColorBalance(unsigned char* srcData, int width, int height, int stride, int cyan, int magenta, int yellow, int channel, bool preserveLuminosity);
	/*************************************************
	Function:    ZPHOTO_Diffusion
	Description: ɢ
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 intensity-ɢ̶ȣΧΪ[0,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_Diffusion(unsigned char* srcData,int width, int height,int stride,int intensity);
	/*************************************************
	Function:    ZPHOTO_LSNBlur
	Description: LSNBlur
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 radius-LSNBlur뾶ΧΪ[0,200]
				 delta-[0,500]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_LSNBlur(unsigned char* srcData, int width, int height, int stride, int radius, int delta);
	/*************************************************
	Function:    ZPHOTO_MedianFilter
	Description: ֵ˲(мɫ)
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 radius-ģ뾶ֵȡֵΧΪ[0,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_MedianFilter(unsigned char *srcData, int width, int height, int stride,int radius);
	/*************************************************
	Function:    ZPHOTO_MaxFilter
	Description: ֵ˲(ֵ)
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 radius-ģ뾶ֵȡֵΧΪ[0,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_MaxFilter(unsigned char *srcData, int width, int height, int stride, int radius);
	/*************************************************
	Function:    ZPHOTO_MinFilter
	Description: Сֵ˲(Сֵ)
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 radius-ģ뾶ֵȡֵΧΪ[0,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_MinFilter(unsigned char *srcData, int width, int height, int stride, int radius);
	/*************************************************
	Function:    ZPHOTO_GlowingEdges
	Description: Ե˾
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 edgeSize-ԵֵȡֵΧΪ[1,14]
				 edgeLightness-ԵֵȡֵΧΪ[0,20]
				 edgeSmoothness-ƽȣȡֵΧΪ[1,15]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_GlowingEdges(unsigned char* srcData, int width ,int height, int stride, int edgeSize, int edgeLightness, int edgeSmoothness);
	
	/*************************************************
	Function:    ZPHOTO_ImageWarpWave
	Description: Wave 
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽִкΪͼ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 intensity-γ̶ȣΧ[0, 100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_ImageWarpWave(unsigned char *srcData, int width, int height, int stride, int intensity);
	
	/*************************************************
	Function:    ZPHOTO_RGBToYCbCr
	Description: RGBתYCbCr
	Input:       Red-RΧ[0,255]
				 Green-GΧ[0,255]
				 Blue-BΧ[0,255]
				 Y-Y
				 Cb-Cb
				 Cr-Cr
	Output:      .
	Return:      .
	Others:      .
	*************************************************/
	EXPORT void ZPHOTO_RGBToYCbCr(int R, int G, int B, int*Y,int*Cb, int* Cr);
	/*************************************************
	Function:    ZPHOTO_YCbCrToRGB
	Description: YCbCrתRGB	   
	Input: 	     Y-Y
				 Cb-Cb
				 Cr-Cr
				 Red-RΧ[0,255]
				 Green-GΧ[0,255]
				 Blue-BΧ[0,255]
	Output:      .
	Return:      .
	Others:      .
	*************************************************/
    EXPORT void ZPHOTO_YCbCrToRGB(int Y, int Cb, int Cr, int*Red,int*Green, int* Blue);
	
	/*************************************************
	Function:    ZPHOTO_RGBToLab
	Description: RGBתLAB	   
	Input:    	 Red-RΧ[0,255]
				 Green-GΧ[0,255]
				 Blue-BΧ[0,255]
				 L-YΧ[0,255]
				 A-IΧ[0,255]
				 B-Q, Χ[0,255]
	Output:      .
	Return:      .
	Others:      .
	*************************************************/
    EXPORT void ZPHOTO_RGBToLab(int Red, int Green, int Blue, int* L, int *A, int *B);
	/*************************************************
	Function:    ZPHOTO_LabToRGB
	Description: LABתRGB	   
	Input:    	 L-YΧ[0,255]
				 A-IΧ[0,255]
				 B-Q, Χ[0,255]
				 Red-RΧ[0,255]
				 Green-GΧ[0,255]
				 Blue-BΧ[0,255]
	Output:      .
	Return:      .
	Others:      .
	*************************************************/
    EXPORT void ZPHOTO_LabToRGB(int L, int A, int B, int* Red, int* Green, int* Blue);
	/*************************************************
	Function:    ZPHOTO_GammaCorrect
	Description: Gamma
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 intensity-GammaΧ[1,50]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
	*************************************************/
	EXPORT int ZPHOTO_GammaCorrect(unsigned char* srcData, int width, int height, int stride, int intensity);

    /******************************************************************************* 
    * Function Name  : Natural Saturation 
    * Description    : ȻͶ
    * Input  srcData : image data
    * Input  width   : image width
    * Input  height  : image height
    * Input  stride  : image stride
    * Input  saturation     : saturation value to adjust from -100 to 100
    * Output         : None 
    * Return         : 0-success, others failed
    *******************************************************************************/
	EXPORT int ZPHOTO_NaturalSaturation(unsigned char* srcData,int width, int height, int stride, int saturation);
	EXPORT int ZPHOTO_LUTFilter(unsigned char* srcData, int width ,int height, int stride, unsigned char*Map, int ratio);
/****************************************************Update***************************************************
****************************************************Date:2018-06-21*******************************************
Content:
Smart blur filter
Anisotropic Filter
*************************************************************************************************************/
/*************************************************
	Function:    ZPHOTO_SmartBlurFilter
	Description: Smart Blur
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 size-ģ뾶ֵȡֵΧΪ[0,100]
				 threshold-ֵΧ[0,255]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
*************************************************/
	EXPORT int ZPHOTO_SmartBlurFilter(unsigned char* srcData, int width, int height, int stride, int size, int threshold);
/*************************************************
	Function:    ZPHOTO_AnisotropicFilter
	Description: Anisotropic Filter
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 iter-ȡֵΧΪ[0,100]
				 k-ɢϵΧ[0,]
				 lambda-[0,0.35],default 0.25
				 offset-[0,10],default 3
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
*************************************************/
	EXPORT int ZPHOTO_AnisotropicFilter(unsigned char* srcData, int width, int height, int stride, int iter, float k, float lambda = 0.25, int offset = 3);
/*************************************************
	Function:    ZPHOTO_DisplacementFilter
	Description: Displacement Filter
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 maskData-ûͼʽΪ32λBGRAʽ
				 mWidth-ûͼ
				 mHeight-ûͼ߶
				 mStride-ûͼStride
				 hRatio-ˮƽΧ[-100,100]
				 vRatio-ֱΧ[-100,100]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
*************************************************/
	EXPORT int ZPHOTO_DisplacementFilter(unsigned char* srcData, int width, int height, int stride, unsigned char* maskData, int mWidth, int mHeight, int mStride, int hRatio, int vRatio);
/*************************************************
	Function:    ZPHOTO_NoiseEffect
	Description: Noise effect
	Input:       srcData-ԭʼͼ񣬸ʽΪ32λBGRAʽ
	             width-ԭʼͼ
				 height-ԭʼͼ߶
				 stride-ԭʼͼStride
				 ratio-ͼĻϱΧ[0,100]
				 sigma-Χ[0,]
				 phase-ȣΧ[0,]
	Output:      .
	Return:      0-ɹ,ʧ.
	Others:      .
*************************************************/
EXPORT int ZPHOTO_NoiseEffect(unsigned char *srcData, int width, int height, int stride, int ratio, float sigma, float phase);
#else

#ifdef __cplusplus
extern "C" {
#endif    
	//
	int ZPHOTO_Exposure(unsigned char* srcData,int width, int height, int stride, int intensity);
    int ZPHOTO_Saturation(unsigned char* srcData,int width, int height, int stride, int saturation);
	int ZPHOTO_Posterize(unsigned char *srcData, int width, int height, int stride, int clusterNum);
	int ZPHOTO_OverExposure(unsigned char *srcData, int width, int height, int stride);
	int ZPHOTO_Lightness(unsigned char* srcData,int width, int height, int stride, int lightness);
	int ZPHOTO_Invert(unsigned char *srcData, int width, int height, int stride);
	int ZPHOTO_HueAndSaturation(unsigned char* srcData,int width, int height, int stride,int hue, int saturation);
	int ZPHOTO_HistagramEqualize(unsigned char* srcData,int width, int height, int stride);
	int ZPHOTO_Desaturate(unsigned char *srcData, int width, int height, int stride, int ratio);
    int ZPHOTO_Curve(unsigned char* srcData, int width, int height, int stride, int dstChannel, int knotsPos[6]);
	int ZPHOTO_ColorLevel(unsigned char * srcData , int width, int height ,int stride , int destChannel, unsigned char inputLeftLimit, float inputMiddle, unsigned char inputRightLimit, unsigned char outputLeftLimit , unsigned char outputRightLimit);
	int ZPHOTO_NLinearBrightContrast(unsigned char* srcData,int width,int height,int stride,int bright,int contrast,int threshold);
    int ZPHOTO_LinearBrightContrast(unsigned char* srcData,int width, int height, int stride, int brightness, int contrast,int threshold);
    int ZPHOTO_Blackwhite(unsigned char *srcData, int width, int height, int stride, int kRed, int kGreen, int kBlue, int kYellow, int kCyan, int kMagenta);
	int ZPHOTO_AutoContrast(unsigned char *srcData, int width, int height, int stride);
	int ZPHOTO_AutoContrastAdjustWithParameters(unsigned char *srcData, int width, int height, int stride, float shadowCorrectRatio, float highlightCorrectRatio);
	int ZPHOTO_AutoColorGradation(unsigned char *srcData, int width, int height, int stride);
	int ZPHOTO_AutoColorGradationAdjustWithParameters(unsigned char *srcData, int width, int height, int stride, float shadowCorrectRatio, float highlightCorrectRatio);
	int ZPHOTO_Threshold(unsigned char *srcData, int width, int height, int stride, int threshold);
	int ZPHOTO_HighPass(unsigned char* srcData,int width, int height,int stride,float mRadius);
	int ZPHOTO_ChannelMixProcess(unsigned char* srcData, int width, int height, int stride, int channel, int kr, int kg, int kb, int N, bool singleColor, bool constAdjust);
	int ZPHOTO_USM(unsigned char* srcData,int width, int height,int stride,float radius, int amount, int threshold);
	int ZPHOTO_FindEdges(unsigned char *srcData, int width, int height,int stride);
	int ZPHOTO_Fragment(unsigned char *srcData, int width, int height, int stride);
	int ZPHOTO_MotionBlur(unsigned char* srcData,int width, int height, int stride, int angle, int distance);
	int ZPHOTO_SurfaceBlur(unsigned char *srcData, int width, int height, int stride,int threshold, int radius);

	//V1.2
	int ZPHOTO_RadialBlur(unsigned char* srcData, int width, int height ,int stride, int cenX, int cenY, int amount);
	int ZPHOTO_ZoomBlur(unsigned char* srcData, int width, int height ,int stride, int cenX, int cenY, int sampleRadius, int amount);
	int ZPHOTO_Relief(unsigned char *srcData, int width, int height, int stride, int angle, int amount);
	int ZPHOTO_Mean(unsigned char *srcData, int width, int height, int stride);
	int ZPHOTO_ColorBalance(unsigned char* srcData, int width, int height, int stride, int cyan, int magenta, int yellow, int channel, bool preserveLuminosity);
	int ZPHOTO_LSNBlur(unsigned char* srcData, int width, int height, int stride, int radius, int delta);
	int ZPHOTO_Mosaic(unsigned char *srcData, int width, int height, int stride, int size);
	int ZPHOTO_Diffusion(unsigned char* srcData,int width, int height,int stride,int intensity);
	int ZPHOTO_MedianFilter(unsigned char *srcData, int width, int height, int stride, int radius);
	int ZPHOTO_MaxFilter(unsigned char *srcData, int width, int height, int stride, int radius);
	int ZPHOTO_MinFilter(unsigned char *srcData, int width, int height, int stride, int radius);
	
	void ZPHOTO_RGBToYCbCr(int R, int G, int B, int*Y,int*Cb, int* Cr);
	void ZPHOTO_YCbCrToRGB(int Y, int Cb, int Cr, int*Red,int*Green, int* Blue);
	void ZPHOTO_RGBToLab(int Red, int Green, int Blue, int* L, int *A, int *B);
	void ZPHOTO_LabToRGB(int L, int A, int B, int* Red, int* Green, int* Blue);
	///ͼϹ
	int ZPHOTO_ModeDarken(int basePixel,int mixPixel);
	int ZPHOTO_ModeMultiply(int basePixel,int mixPixel);
	int ZPHOTO_ModeColorBurn(int basePixel,int mixPixel);
	int ZPHOTO_ModeLinearBurn(int basePixel,int mixPixel);
	int ZPHOTO_ModeDarkness(int *baseRed,int *baseGreen,int *baseBlue,int mixRed,int mixGreen,int mixBlue);
	int ZPHOTO_ModeLighten(int basePixel,int mixPixel);
	int ZPHOTO_ModeScreen(int basePixel,int mixPixel);
	int ZPHOTO_ModeColorDodge(int basePixel,int mixPixel);
	int ZPHOTO_ModeColorLinearDodge(int basePixel,int mixPixel);
	int ZPHOTO_ModeLightColor(int *baseRed,int *baseGreen,int *baseBlue,int mixRed,int mixGreen,int mixBlue);
	int ZPHOTO_ModeOverlay(int basePixel,int mixPixel);
	int ZPHOTO_ModeSoftLight(int basePixel,int mixPixel);
	int ZPHOTO_ModeHardLight(int basePixel,int mixPixel);
	int ZPHOTO_ModeVividLight(int basePixel,int mixPixel);
	int ZPHOTO_ModeLinearLight(int basePixel,int mixPixel);
	int ZPHOTO_ModePinLight(int basePixel,int mixPixel);
	int ZPHOTO_ModeSolidColorMixing(int *baseRed,int *baseGreen,int *baseBlue,int mixRed,int mixGreen,int mixBlue);
	int ZPHOTO_ModeDifference(int basePixel,int mixPixel);
	int ZPHOTO_ModeExclusion(int basePixel,int mixPixel);
	int ZPHOTO_ModeSubtraction(int basePixel,int mixPixel);
	int ZPHOTO_ModeDivide(int basePixel,int mixPixel);
	int ZPHOTO_ModeDesaturate(int red,int green,int blue);
	int ZPHOTO_ModeColorInvert(int *red,int *green,int *blue);
	int ZPHOTO_ImageBlendEffect(unsigned char* baseData, int width, int height, int stride, unsigned char* mixData, int blendMode);//ͼ

	//չ
	int ZPHOTO_FastestGaussFilter(unsigned char* srcData,int width, int height,int stride,float radius);
	int ZPHOTO_ColorTemperature(unsigned char* srcData,int width, int height, int stride, int intensity);
	int ZPHOTO_CalcWH( int inputImgSize[2], float angle, float scale, int transform_method, int outputImgSize[2],float H[]);
    int ZPHOTO_ImageTransformation(unsigned char *srcData, int srcImgSize[2], unsigned char *dstData, int dstImgSize[2], float H[], int Interpolation_method, int Transform_method);
	int ZPHOTO_FastMeanFilter(unsigned char* srcData, int width, int height ,int stride, int radius);
	int ZPHOTO_SobelFilter(unsigned char *srcData, int width, int height,int stride);
	int ZPHOTO_GlowingEdges(unsigned char* srcData, int width ,int height, int stride, int edgeSize, int edgeLightness, int edgeSmoothness);
	int ZPHOTO_ImageWarpWave(unsigned char *srcData, int width, int height, int stride, int intensity);
    //For Android Development
    int ZPHOTO_RGBA2BGRA(unsigned char* srcData, int width, int height, int stride);
    int ZPHOTO_BGRA2RGBA(unsigned char* srcData, int width, int height, int stride);
	int ZPHOTO_GammaCorrect(unsigned char* srcData, int width, int height, int stride, int intensity);
	int ZPHOTO_HighlightShadowPrecise(unsigned char* srcData,int width, int height, int stride, float highlight, float shadow);
	int ZPHOTO_NaturalSaturation(unsigned char* srcData,int width, int height, int stride, int saturation);
	int ZPHOTO_LUTFilter(unsigned char* srcData, int width ,int height, int stride, unsigned char*Map, int ratio);
	int ZPHOTO_SmartBlurFilter(unsigned char* srcData, int width, int height, int stride, int size, int threshold);
	int ZPHOTO_AnisotropicFilter(unsigned char* srcData, int width, int height, int stride, int iter, float k, float lambda = 0.25, int offset = 3);
	int ZPHOTO_DisplacementFilter(unsigned char* srcData, int width, int height, int stride, unsigned char* maskData, int mWidth, int mHeight, int mStride, int hRatio, int vRatio);
    int ZPHOTO_NoiseEffect(unsigned char *srcData, int width, int height, int stride, int ratio, float sigma, float phase);
#ifdef __cplusplus
}
#endif


#endif



#endif


================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/AnisotropicFilterForm.Designer.cs
================================================
namespace TestDemo
{
    partial class AnisotropicFilterForm
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.pictureBox1 = new System.Windows.Forms.PictureBox();
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.skinHScrollBar2 = new CCWin.SkinControl.SkinHScrollBar();
            this.label2 = new System.Windows.Forms.Label();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.skinHScrollBar1 = new CCWin.SkinControl.SkinHScrollBar();
            this.skinButton1 = new CCWin.SkinControl.SkinButton();
            this.label1 = new System.Windows.Forms.Label();
            this.textBox1 = new System.Windows.Forms.TextBox();
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
            this.groupBox1.SuspendLayout();
            this.SuspendLayout();
            // 
            // pictureBox1
            // 
            this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.pictureBox1.Location = new System.Drawing.Point(207, 38);
            this.pictureBox1.Name = "pictureBox1";
            this.pictureBox1.Size = new System.Drawing.Size(150, 150);
            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
            this.pictureBox1.TabIndex = 13;
            this.pictureBox1.TabStop = false;
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.Add(this.skinHScrollBar2);
            this.groupBox1.Controls.Add(this.label2);
            this.groupBox1.Controls.Add(this.textBox2);
            this.groupBox1.Controls.Add(this.skinHScrollBar1);
            this.groupBox1.Controls.Add(this.skinButton1);
            this.groupBox1.Controls.Add(this.label1);
            this.groupBox1.Controls.Add(this.textBox1);
            this.groupBox1.Location = new System.Drawing.Point(6, 35);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(185, 153);
            this.groupBox1.TabIndex = 12;
            this.groupBox1.TabStop = false;
            // 
            // skinHScrollBar2
            // 
            this.skinHScrollBar2.BackHover = System.Drawing.Color.FromArgb(((int)(((byte)(121)))), ((int)(((byte)(216)))), ((int)(((byte)(243)))));
            this.skinHScrollBar2.BackNormal = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(249)))), ((int)(((byte)(253)))));
            this.skinHScrollBar2.BackPressed = System.Drawing.Color.FromArgb(((int)(((byte)(70)))), ((int)(((byte)(202)))), ((int)(((byte)(239)))));
            this.skinHScrollBar2.Base = System.Drawing.Color.FromArgb(((int)(((byte)(171)))), ((int)(((byte)(230)))), ((int)(((byte)(247)))));
            this.skinHScrollBar2.Border = System.Drawing.Color.FromArgb(((int)(((byte)(89)))), ((int)(((byte)(210)))), ((int)(((byte)(249)))));
            this.skinHScrollBar2.Fore = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(135)))), ((int)(((byte)(192)))));
            this.skinHScrollBar2.InnerBorder = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))));
            this.skinHScrollBar2.Location = new System.Drawing.Point(19, 83);
            this.skinHScrollBar2.Maximum = 59;
            this.skinHScrollBar2.Minimum = 2;
            this.skinHScrollBar2.Name = "skinHScrollBar2";
            this.skinHScrollBar2.Size = new System.Drawing.Size(151, 17);
            this.skinHScrollBar2.TabIndex = 7;
            this.skinHScrollBar2.Value = 10;
            this.skinHScrollBar2.Scroll += new System.Windows.Forms.ScrollEventHandler(this.skinHScrollBar2_Scroll);
            // 
            // label2
            // 
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(29, 62);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(23, 12);
            this.label2.TabIndex = 5;
            this.label2.Text = "K:";
            // 
            // textBox2
            // 
            this.textBox2.Location = new System.Drawing.Point(100, 59);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(57, 21);
            this.textBox2.TabIndex = 6;
            this.textBox2.Text = "10";
            this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // skinHScrollBar1
            // 
            this.skinHScrollBar1.BackHover = System.Drawing.Color.FromArgb(((int)(((byte)(121)))), ((int)(((byte)(216)))), ((int)(((byte)(243)))));
            this.skinHScrollBar1.BackNormal = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(249)))), ((int)(((byte)(253)))));
            this.skinHScrollBar1.BackPressed = System.Drawing.Color.FromArgb(((int)(((byte)(70)))), ((int)(((byte)(202)))), ((int)(((byte)(239)))));
            this.skinHScrollBar1.Base = System.Drawing.Color.FromArgb(((int)(((byte)(171)))), ((int)(((byte)(230)))), ((int)(((byte)(247)))));
            this.skinHScrollBar1.Border = System.Drawing.Color.FromArgb(((int)(((byte)(89)))), ((int)(((byte)(210)))), ((int)(((byte)(249)))));
            this.skinHScrollBar1.Fore = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(135)))), ((int)(((byte)(192)))));
            this.skinHScrollBar1.InnerBorder = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))));
            this.skinHScrollBar1.Location = new System.Drawing.Point(19, 36);
            this.skinHScrollBar1.Maximum = 19;
            this.skinHScrollBar1.Minimum = 1;
            this.skinHScrollBar1.Name = "skinHScrollBar1";
            this.skinHScrollBar1.Size = new System.Drawing.Size(151, 17);
            this.skinHScrollBar1.TabIndex = 4;
            this.skinHScrollBar1.Value = 7;
            this.skinHScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.skinHScrollBar1_Scroll);
            // 
            // skinButton1
            // 
            this.skinButton1.BackColor = System.Drawing.Color.Transparent;
            this.skinButton1.ControlState = CCWin.SkinClass.ControlState.Normal;
            this.skinButton1.DownBack = null;
            this.skinButton1.Location = new System.Drawing.Point(55, 115);
            this.skinButton1.MouseBack = null;
            this.skinButton1.Name = "skinButton1";
            this.skinButton1.NormlBack = null;
            this.skinButton1.Size = new System.Drawing.Size(75, 23);
            this.skinButton1.TabIndex = 3;
            this.skinButton1.Text = "确定";
            this.skinButton1.UseVisualStyleBackColor = false;
            this.skinButton1.Click += new System.EventHandler(this.skinButton1_Click);
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(29, 15);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(41, 12);
            this.label1.TabIndex = 1;
            this.label1.Text = "Iter:";
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(100, 12);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(57, 21);
            this.textBox1.TabIndex = 2;
            this.textBox1.Text = "7";
            this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // AnisotropicFilterForm
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(371, 196);
            this.Controls.Add(this.pictureBox1);
            this.Controls.Add(this.groupBox1);
            this.Name = "AnisotropicFilterForm";
            this.Text = "AnisotropicFilterForm";
            this.TitleCenter = false;
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.PictureBox pictureBox1;
        private System.Windows.Forms.GroupBox groupBox1;
        private CCWin.SkinControl.SkinHScrollBar skinHScrollBar2;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.TextBox textBox2;
        private CCWin.SkinControl.SkinHScrollBar skinHScrollBar1;
        private CCWin.SkinControl.SkinButton skinButton1;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.TextBox textBox1;
    }
}

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/AnisotropicFilterForm.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TestDemo
{
    public partial class AnisotropicFilterForm : CCWin.Skin_Mac
    {
        public AnisotropicFilterForm(string path)
        {
            InitializeComponent();
            this.DoubleBuffered = true;
            zPhoto = new ZPhotoEngineDll();
            Bitmap tmp = new Bitmap(path);
            if (tmp != null)
            {
                curBitmap = new Bitmap(tmp, 150 * tmp.Width / Math.Max(tmp.Width, tmp.Height), 150 * tmp.Height / Math.Max(tmp.Width, tmp.Height));
                pictureBox1.Image = (Image)zPhoto.AnisotropicFilter(curBitmap, iter, k);
            }

        }
        private ZPhotoEngineDll zPhoto = null;
        private Bitmap curBitmap = null;
        private int iter = 7;
        private int k = 10;
        public int getIter
        {
            get { return iter; }
        }
        public int getK
        {
            get { return k; }
        }
        private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
        {
            if (curBitmap != null)
            {
                k = skinHScrollBar2.Value;
                iter = skinHScrollBar1.Value;
                textBox1.Text = iter.ToString();
                textBox2.Text = k.ToString();
                pictureBox1.Image = (Image)zPhoto.AnisotropicFilter(curBitmap, iter, k);
            }

        }

        private void skinHScrollBar2_Scroll(object sender, ScrollEventArgs e)
        {
            if (curBitmap != null)
            {
                k = skinHScrollBar2.Value;
                iter = skinHScrollBar1.Value;
                textBox1.Text = iter.ToString();
                textBox2.Text = k.ToString();
                pictureBox1.Image = (Image)zPhoto.AnisotropicFilter(curBitmap, iter, k);
            }
        }

        private void skinButton1_Click(object sender, EventArgs e)
        {
            k = skinHScrollBar2.Value;
            iter = skinHScrollBar1.Value;
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
    }
}


================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/AnisotropicFilterForm.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BlackWhiteForm.Designer.cs
================================================
namespace TestDemo
{
    partial class BlackWhiteForm
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.label15 = new System.Windows.Forms.Label();
            this.comboBox1 = new System.Windows.Forms.ComboBox();
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.button8 = new System.Windows.Forms.Button();
            this.label13 = new System.Windows.Forms.Label();
            this.textBox6 = new System.Windows.Forms.TextBox();
            this.hScrollBar6 = new System.Windows.Forms.HScrollBar();
            this.label14 = new System.Windows.Forms.Label();
            this.button7 = new System.Windows.Forms.Button();
            this.label11 = new System.Windows.Forms.Label();
            this.textBox5 = new System.Windows.Forms.TextBox();
            this.hScrollBar5 = new System.Windows.Forms.HScrollBar();
            this.label12 = new System.Windows.Forms.Label();
            this.button6 = new System.Windows.Forms.Button();
            this.label9 = new System.Windows.Forms.Label();
            this.textBox4 = new System.Windows.Forms.TextBox();
            this.hScrollBar4 = new System.Windows.Forms.HScrollBar();
            this.label10 = new System.Windows.Forms.Label();
            this.button5 = new System.Windows.Forms.Button();
            this.label7 = new System.Windows.Forms.Label();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.hScrollBar3 = new System.Windows.Forms.HScrollBar();
            this.label8 = new System.Windows.Forms.Label();
            this.button4 = new System.Windows.Forms.Button();
            this.label5 = new System.Windows.Forms.Label();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.hScrollBar2 = new System.Windows.Forms.HScrollBar();
            this.label6 = new System.Windows.Forms.Label();
            this.button3 = new System.Windows.Forms.Button();
            this.label3 = new System.Windows.Forms.Label();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.hScrollBar1 = new System.Windows.Forms.HScrollBar();
            this.label2 = new System.Windows.Forms.Label();
            this.pictureBox1 = new System.Windows.Forms.PictureBox();
            this.skinButton1 = new CCWin.SkinControl.SkinButton();
            this.groupBox1.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
            this.SuspendLayout();
            // 
            // label15
            // 
            this.label15.AutoSize = true;
            this.label15.Location = new System.Drawing.Point(6, 47);
            this.label15.Name = "label15";
            this.label15.Size = new System.Drawing.Size(53, 12);
            this.label15.TabIndex = 72;
            this.label15.Text = "预设(E:)";
            // 
            // comboBox1
            // 
            this.comboBox1.FormattingEnabled = true;
            this.comboBox1.Items.AddRange(new object[] {
            "默认值",
            "蓝色滤镜",
            "较暗",
            "绿色滤镜",
            "高对比度蓝色滤镜",
            "高对比度红色滤镜",
            "红外线",
            "较亮",
            "最黑",
            "最白",
            "中灰密度",
            "红色滤镜",
            "黄色滤镜"});
            this.comboBox1.Location = new System.Drawing.Point(65, 44);
            this.comboBox1.Name = "comboBox1";
            this.comboBox1.Size = new System.Drawing.Size(177, 20);
            this.comboBox1.TabIndex = 71;
            this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged_1);
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.Add(this.button8);
            this.groupBox1.Controls.Add(this.label13);
            this.groupBox1.Controls.Add(this.textBox6);
            this.groupBox1.Controls.Add(this.hScrollBar6);
            this.groupBox1.Controls.Add(this.label14);
            this.groupBox1.Controls.Add(this.button7);
            this.groupBox1.Controls.Add(this.label11);
            this.groupBox1.Controls.Add(this.textBox5);
            this.groupBox1.Controls.Add(this.hScrollBar5);
            this.groupBox1.Controls.Add(this.label12);
            this.groupBox1.Controls.Add(this.button6);
            this.groupBox1.Controls.Add(this.label9);
            this.groupBox1.Controls.Add(this.textBox4);
            this.groupBox1.Controls.Add(this.hScrollBar4);
            this.groupBox1.Controls.Add(this.label10);
            this.groupBox1.Controls.Add(this.button5);
            this.groupBox1.Controls.Add(this.label7);
            this.groupBox1.Controls.Add(this.textBox3);
            this.groupBox1.Controls.Add(this.hScrollBar3);
            this.groupBox1.Controls.Add(this.label8);
            this.groupBox1.Controls.Add(this.button4);
            this.groupBox1.Controls.Add(this.label5);
            this.groupBox1.Controls.Add(this.textBox2);
            this.groupBox1.Controls.Add(this.hScrollBar2);
            this.groupBox1.Controls.Add(this.label6);
            this.groupBox1.Controls.Add(this.button3);
            this.groupBox1.Controls.Add(this.label3);
            this.groupBox1.Controls.Add(this.textBox1);
            this.groupBox1.Controls.Add(this.hScrollBar1);
            this.groupBox1.Controls.Add(this.label2);
            this.groupBox1.Location = new System.Drawing.Point(7, 78);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(256, 362);
            this.groupBox1.TabIndex = 70;
            this.groupBox1.TabStop = false;
            this.groupBox1.Text = "黑白";
            // 
            // button8
            // 
            this.button8.BackColor = System.Drawing.Color.Magenta;
            this.button8.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.button8.Location = new System.Drawing.Point(147, 295);
            this.button8.Name = "button8";
            this.button8.Size = new System.Drawing.Size(20, 20);
            this.button8.TabIndex = 67;
            this.button8.UseVisualStyleBackColor = false;
            // 
            // label13
            // 
            this.label13.AutoSize = true;
            this.label13.Location = new System.Drawing.Point(239, 297);
            this.label13.Name = "label13";
            this.label13.Size = new System.Drawing.Size(11, 12);
            this.label13.TabIndex = 66;
            this.label13.Text = "%";
            this.label13.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
            // 
            // textBox6
            // 
            this.textBox6.Location = new System.Drawing.Point(173, 294);
            this.textBox6.Name = "textBox6";
            this.textBox6.Size = new System.Drawing.Size(60, 21);
            this.textBox6.TabIndex = 65;
            this.textBox6.Text = "80";
            this.textBox6.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // hScrollBar6
            // 
            this.hScrollBar6.Location = new System.Drawing.Point(8, 323);
            this.hScrollBar6.Maximum = 309;
            this.hScrollBar6.Minimum = -200;
            this.hScrollBar6.Name = "hScrollBar6";
            this.hScrollBar6.Size = new System.Drawing.Size(227, 17);
            this.hScrollBar6.TabIndex = 64;
            this.hScrollBar6.Value = 80;
            this.hScrollBar6.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar6_Scroll_1);
            // 
            // label14
            // 
            this.label14.AutoSize = true;
            this.label14.Location = new System.Drawing.Point(6, 297);
            this.label14.Name = "label14";
            this.label14.Size = new System.Drawing.Size(59, 12);
            this.label14.TabIndex = 63;
            this.label14.Text = "洋红(M):";
            this.label14.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // button7
            // 
            this.button7.BackColor = System.Drawing.Color.Blue;
            this.button7.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.button7.Location = new System.Drawing.Point(147, 241);
            this.button7.Name = "button7";
            this.button7.Size = new System.Drawing.Size(20, 20);
            this.button7.TabIndex = 62;
            this.button7.UseVisualStyleBackColor = false;
            // 
            // label11
            // 
            this.label11.AutoSize = true;
            this.label11.Location = new System.Drawing.Point(239, 243);
            this.label11.Name = "label11";
            this.label11.Size = new System.Drawing.Size(11, 12);
            this.label11.TabIndex = 61;
            this.label11.Text = "%";
            this.label11.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
            // 
            // textBox5
            // 
            this.textBox5.Location = new System.Drawing.Point(173, 240);
            this.textBox5.Name = "textBox5";
            this.textBox5.Size = new System.Drawing.Size(60, 21);
            this.textBox5.TabIndex = 60;
            this.textBox5.Text = "20";
            this.textBox5.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // hScrollBar5
            // 
            this.hScrollBar5.Location = new System.Drawing.Point(8, 269);
            this.hScrollBar5.Maximum = 309;
            this.hScrollBar5.Minimum = -200;
            this.hScrollBar5.Name = "hScrollBar5";
            this.hScrollBar5.Size = new System.Drawing.Size(227, 17);
            this.hScrollBar5.TabIndex = 59;
            this.hScrollBar5.Value = 20;
            this.hScrollBar5.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar5_Scroll_1);
            // 
            // label12
            // 
            this.label12.AutoSize = true;
            this.label12.Location = new System.Drawing.Point(6, 243);
            this.label12.Name = "label12";
            this.label12.Size = new System.Drawing.Size(59, 12);
            this.label12.TabIndex = 58;
            this.label12.Text = "蓝色(B):";
            this.label12.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // button6
            // 
            this.button6.BackColor = System.Drawing.Color.Cyan;
            this.button6.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.button6.Location = new System.Drawing.Point(147, 187);
            this.button6.Name = "button6";
            this.button6.Size = new System.Drawing.Size(20, 20);
            this.button6.TabIndex = 57;
            this.button6.UseVisualStyleBackColor = false;
            // 
            // label9
            // 
            this.label9.AutoSize = true;
            this.label9.Location = new System.Drawing.Point(239, 189);
            this.label9.Name = "label9";
            this.label9.Size = new System.Drawing.Size(11, 12);
            this.label9.TabIndex = 56;
            this.label9.Text = "%";
            this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
            // 
            // textBox4
            // 
            this.textBox4.Location = new System.Drawing.Point(173, 186);
            this.textBox4.Name = "textBox4";
            this.textBox4.Size = new System.Drawing.Size(60, 21);
            this.textBox4.TabIndex = 55;
            this.textBox4.Text = "60";
            this.textBox4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // hScrollBar4
            // 
            this.hScrollBar4.Location = new System.Drawing.Point(8, 215);
            this.hScrollBar4.Maximum = 309;
            this.hScrollBar4.Minimum = -200;
            this.hScrollBar4.Name = "hScrollBar4";
            this.hScrollBar4.Size = new System.Drawing.Size(227, 17);
            this.hScrollBar4.TabIndex = 54;
            this.hScrollBar4.Value = 60;
            this.hScrollBar4.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar4_Scroll_1);
            // 
            // label10
            // 
            this.label10.AutoSize = true;
            this.label10.Location = new System.Drawing.Point(6, 189);
            this.label10.Name = "label10";
            this.label10.Size = new System.Drawing.Size(59, 12);
            this.label10.TabIndex = 53;
            this.label10.Text = "青色(C):";
            this.label10.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // button5
            // 
            this.button5.BackColor = System.Drawing.Color.Green;
            this.button5.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.button5.Location = new System.Drawing.Point(147, 134);
            this.button5.Name = "button5";
            this.button5.Size = new System.Drawing.Size(20, 20);
            this.button5.TabIndex = 52;
            this.button5.UseVisualStyleBackColor = false;
            // 
            // label7
            // 
            this.label7.AutoSize = true;
            this.label7.Location = new System.Drawing.Point(239, 136);
            this.label7.Name = "label7";
            this.label7.Size = new System.Drawing.Size(11, 12);
            this.label7.TabIndex = 51;
            this.label7.Text = "%";
            this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
            // 
            // textBox3
            // 
            this.textBox3.Location = new System.Drawing.Point(173, 133);
            this.textBox3.Name = "textBox3";
            this.textBox3.Size = new System.Drawing.Size(60, 21);
            this.textBox3.TabIndex = 50;
            this.textBox3.Text = "40";
            this.textBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // hScrollBar3
            // 
            this.hScrollBar3.Location = new System.Drawing.Point(8, 162);
            this.hScrollBar3.Maximum = 309;
            this.hScrollBar3.Minimum = -200;
            this.hScrollBar3.Name = "hScrollBar3";
            this.hScrollBar3.Size = new System.Drawing.Size(227, 17);
            this.hScrollBar3.TabIndex = 49;
            this.hScrollBar3.Value = 40;
            this.hScrollBar3.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar3_Scroll_1);
            // 
            // label8
            // 
            this.label8.AutoSize = true;
            this.label8.Location = new System.Drawing.Point(6, 136);
            this.label8.Name = "label8";
            this.label8.Size = new System.Drawing.Size(59, 12);
            this.label8.TabIndex = 48;
            this.label8.Text = "绿色(G):";
            this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // button4
            // 
            this.button4.BackColor = System.Drawing.Color.Yellow;
            this.button4.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.button4.Location = new System.Drawing.Point(147, 81);
            this.button4.Name = "button4";
            this.button4.Size = new System.Drawing.Size(20, 20);
            this.button4.TabIndex = 47;
            this.button4.UseVisualStyleBackColor = false;
            // 
            // label5
            // 
            this.label5.AutoSize = true;
            this.label5.Location = new System.Drawing.Point(239, 83);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(11, 12);
            this.label5.TabIndex = 46;
            this.label5.Text = "%";
            this.label5.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
            // 
            // textBox2
            // 
            this.textBox2.Location = new System.Drawing.Point(173, 80);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(60, 21);
            this.textBox2.TabIndex = 45;
            this.textBox2.Text = "60";
            this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // hScrollBar2
            // 
            this.hScrollBar2.Location = new System.Drawing.Point(8, 109);
            this.hScrollBar2.Maximum = 309;
            this.hScrollBar2.Minimum = -200;
            this.hScrollBar2.Name = "hScrollBar2";
            this.hScrollBar2.Size = new System.Drawing.Size(227, 17);
            this.hScrollBar2.TabIndex = 44;
            this.hScrollBar2.Value = 60;
            this.hScrollBar2.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar2_Scroll_1);
            // 
            // label6
            // 
            this.label6.AutoSize = true;
            this.label6.Location = new System.Drawing.Point(6, 83);
            this.label6.Name = "label6";
            this.label6.Size = new System.Drawing.Size(59, 12);
            this.label6.TabIndex = 43;
            this.label6.Text = "黄色(Y):";
            this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // button3
            // 
            this.button3.BackColor = System.Drawing.Color.Red;
            this.button3.FlatStyle = System.Windows.Forms.FlatStyle.Popup;
            this.button3.Location = new System.Drawing.Point(147, 28);
            this.button3.Name = "button3";
            this.button3.Size = new System.Drawing.Size(20, 20);
            this.button3.TabIndex = 42;
            this.button3.UseVisualStyleBackColor = false;
            // 
            // label3
            // 
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(239, 30);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(11, 12);
            this.label3.TabIndex = 41;
            this.label3.Text = "%";
            this.label3.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(173, 27);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(60, 21);
            this.textBox1.TabIndex = 40;
            this.textBox1.Text = "40";
            this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // hScrollBar1
            // 
            this.hScrollBar1.Location = new System.Drawing.Point(8, 56);
            this.hScrollBar1.Maximum = 309;
            this.hScrollBar1.Minimum = -200;
            this.hScrollBar1.Name = "hScrollBar1";
            this.hScrollBar1.Size = new System.Drawing.Size(227, 17);
            this.hScrollBar1.TabIndex = 39;
            this.hScrollBar1.Value = 40;
            this.hScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar1_Scroll_1);
            // 
            // label2
            // 
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(6, 30);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(59, 12);
            this.label2.TabIndex = 38;
            this.label2.Text = "红色(R):";
            this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // pictureBox1
            // 
            this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                        | System.Windows.Forms.AnchorStyles.Left)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.pictureBox1.Location = new System.Drawing.Point(269, 43);
            this.pictureBox1.Name = "pictureBox1";
            this.pictureBox1.Size = new System.Drawing.Size(367, 367);
            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
            this.pictureBox1.TabIndex = 73;
            this.pictureBox1.TabStop = false;
            // 
            // skinButton1
            // 
            this.skinButton1.BackColor = System.Drawing.Color.Transparent;
            this.skinButton1.ControlState = CCWin.SkinClass.ControlState.Normal;
            this.skinButton1.DownBack = null;
            this.skinButton1.Location = new System.Drawing.Point(409, 417);
            this.skinButton1.MouseBack = null;
            this.skinButton1.Name = "skinButton1";
            this.skinButton1.NormlBack = null;
            this.skinButton1.Size = new System.Drawing.Size(75, 23);
            this.skinButton1.TabIndex = 74;
            this.skinButton1.Text = "确定";
            this.skinButton1.UseVisualStyleBackColor = false;
            this.skinButton1.Click += new System.EventHandler(this.skinButton1_Click);
            // 
            // BlackWhiteForm
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(653, 459);
            this.Controls.Add(this.skinButton1);
            this.Controls.Add(this.pictureBox1);
            this.Controls.Add(this.label15);
            this.Controls.Add(this.comboBox1);
            this.Controls.Add(this.groupBox1);
            this.MaximizeBox = false;
            this.MaximumSize = new System.Drawing.Size(653, 459);
            this.MinimizeBox = false;
            this.MinimumSize = new System.Drawing.Size(653, 459);
            this.Name = "BlackWhiteForm";
            this.Text = "黑白";
            this.TitleCenter = false;
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.Label label15;
        private System.Windows.Forms.ComboBox comboBox1;
        private System.Windows.Forms.GroupBox groupBox1;
        private System.Windows.Forms.Button button8;
        private System.Windows.Forms.Label label13;
        private System.Windows.Forms.TextBox textBox6;
        private System.Windows.Forms.HScrollBar hScrollBar6;
        private System.Windows.Forms.Label label14;
        private System.Windows.Forms.Button button7;
        private System.Windows.Forms.Label label11;
        private System.Windows.Forms.TextBox textBox5;
        private System.Windows.Forms.HScrollBar hScrollBar5;
        private System.Windows.Forms.Label label12;
        private System.Windows.Forms.Button button6;
        private System.Windows.Forms.Label label9;
        private System.Windows.Forms.TextBox textBox4;
        private System.Windows.Forms.HScrollBar hScrollBar4;
        private System.Windows.Forms.Label label10;
        private System.Windows.Forms.Button button5;
        private System.Windows.Forms.Label label7;
        private System.Windows.Forms.TextBox textBox3;
        private System.Windows.Forms.HScrollBar hScrollBar3;
        private System.Windows.Forms.Label label8;
        private System.Windows.Forms.Button button4;
        private System.Windows.Forms.Label label5;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.HScrollBar hScrollBar2;
        private System.Windows.Forms.Label label6;
        private System.Windows.Forms.Button button3;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.HScrollBar hScrollBar1;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.PictureBox pictureBox1;
        private CCWin.SkinControl.SkinButton skinButton1;
    }
}

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BlackWhiteForm.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TestDemo
{
    public partial class BlackWhiteForm : CCWin.Skin_Mac
    {
        /// <summary>
        /// 
        /// </summary>
        /// <param name="path"></param>
        public BlackWhiteForm(string path)
        {
            InitializeComponent();
            this.DoubleBuffered = true;
            comboBox1.SelectedIndex = 0;
            zPhoto = new ZPhotoEngineDll();
            Bitmap tmp = new Bitmap(path);
            if (tmp != null)
            {
                curBitmap = new Bitmap(tmp, 200 * tmp.Width / Math.Max(tmp.Width, tmp.Height), 200 * tmp.Height / Math.Max(tmp.Width, tmp.Height));
                pictureBox1.Image = (Image)curBitmap;
                BlackWhite(0);
            }
        }
        private ZPhotoEngineDll zPhoto = null;
        private Bitmap curBitmap = null;
        private int kRed = 0, kYellow = 0, kGreen = 0, kCyan = 0, kBlue = 0, kMagenta = 0;
        private void skinButton1_Click(object sender, EventArgs e)
        {
            if (pictureBox1.Image != null)
            {
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
        }

        private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
        {
            if (pictureBox1.Image != null)
            {
                BlackWhite(comboBox1.SelectedIndex);
            }
        }
        public int getKRed
        {
            get { return kRed; }
        }
        public int getKGreen
        {
            get { return kGreen; }
        }
        public int getKBlue
        {
            get { return kBlue; }
        }
        public int getKYellow
        {
            get { return kYellow; }
        }
        public int getKCyan
        {
            get { return kCyan; }
        }
        public int getKMagenta
        {
            get { return kMagenta; }
        }
        private void BlackWhite(int mode)
        {
            switch (mode)
            {
                case 0://default
                    kRed = 40;
                    kYellow = 60;
                    kGreen = 40;
                    kCyan = 60;
                    kBlue = 20;
                    kMagenta = 80;
                    break;
                case 1://蓝色滤镜
                    kRed = 0;
                    kYellow = 0;
                    kGreen = 0;
                    kCyan = 110;
                    kBlue = 110;
                    kMagenta = 110;
                    break;
                case 2://较暗
                    kRed = 30;
                    kYellow = 50;
                    kGreen = 30;
                    kCyan = 50;
                    kBlue = 10;
                    kMagenta = 70;
                    break;
                case 3://绿色滤镜
                    kRed = 50;
                    kYellow = 120;
                    kGreen = 90;
                    kCyan = 50;
                    kBlue = 0;
                    kMagenta = 0;
                    break;
                case 4://高对比度蓝色滤镜
                    kRed = -50;
                    kYellow = -50;
                    kGreen = -50;
                    kCyan = 150;
                    kBlue = 150;
                    kMagenta = 150;
                    break;
                case 5://高对比度红色滤镜
                    kRed = 120;
                    kYellow = 120;
                    kGreen = -10;
                    kCyan = -50;
                    kBlue = -50;
                    kMagenta = 120;
                    break;
                case 6://红外线
                    kRed = -40;
                    kYellow = 235;
                    kGreen = 144;
                    kCyan = -68;
                    kBlue = -3;
                    kMagenta = -107;
                    break;
                case 7://较亮
                    kRed = 50;
                    kYellow = 70;
                    kGreen = 50;
                    kCyan = 70;
                    kBlue = 30;
                    kMagenta = 90;
                    break;
                case 8://最黑
                    kRed = 0;
                    kYellow = 0;
                    kGreen = 0;
                    kCyan = 0;
                    kBlue = 0;
                    kMagenta = 0;
                    break;
                case 9://最白
                    kRed = 100;
                    kYellow = 100;
                    kGreen = 100;
                    kCyan = 100;
                    kBlue = 100;
                    kMagenta = 100;
                    break;
                case 10://中灰密度
                    kRed = 128;
                    kYellow = 128;
                    kGreen = 100;
                    kCyan = 100;
                    kBlue = 128;
                    kMagenta = 100;
                    break;
                case 11://红色滤镜
                    kRed = 120;
                    kYellow = 110;
                    kGreen = -10;
                    kCyan = -50;
                    kBlue = 0;
                    kMagenta = 120;
                    break;
                case 12://黄色滤镜
                    kRed = 120;
                    kYellow = 110;
                    kGreen = 40;
                    kCyan = -30;
                    kBlue = 0;
                    kMagenta = 70;
                    break;
                default:
                    kRed = 40;
                    kYellow = 60;
                    kGreen = 40;
                    kCyan = 60;
                    kBlue = 20;
                    kMagenta = 80;
                    break;
            }
            hScrollBar1.Value = kRed;
            hScrollBar2.Value = kYellow;
            hScrollBar3.Value = kGreen;
            hScrollBar4.Value = kCyan;
            hScrollBar5.Value = kBlue;
            hScrollBar6.Value = kMagenta;
            textBox1.Text = kRed.ToString();
            textBox2.Text = kYellow.ToString();
            textBox3.Text = kGreen.ToString();
            textBox4.Text = kCyan.ToString();
            textBox5.Text = kBlue.ToString();
            textBox6.Text = kMagenta.ToString();
            if (pictureBox1.Image != null)
            {
                pictureBox1.Image = (Image)zPhoto.BlackwhiteProcess(curBitmap, kRed, kGreen, kBlue, kYellow, kCyan, kMagenta);
            }
        }
        //red
        private void hScrollBar1_Scroll_1(object sender, ScrollEventArgs e)
        {
            kRed = hScrollBar1.Value;
            kYellow = hScrollBar2.Value;
            kGreen = hScrollBar3.Value;
            kCyan = hScrollBar4.Value;
            kBlue = hScrollBar5.Value;
            kMagenta = hScrollBar6.Value;
            textBox1.Text = kRed.ToString();
            if (pictureBox1.Image != null)
            {
                pictureBox1.Image = (Image)zPhoto.BlackwhiteProcess(curBitmap, kRed, kGreen, kBlue, kYellow, kCyan, kMagenta);
            }
        }
        //yellow
        private void hScrollBar2_Scroll_1(object sender, ScrollEventArgs e)
        {
            kRed = hScrollBar1.Value;
            kYellow = hScrollBar2.Value;
            kGreen = hScrollBar3.Value;
            kCyan = hScrollBar4.Value;
            kBlue = hScrollBar5.Value;
            kMagenta = hScrollBar6.Value;
            textBox2.Text = kYellow.ToString();
            if (pictureBox1.Image != null)
            {
                pictureBox1.Image = (Image)zPhoto.BlackwhiteProcess(curBitmap, kRed, kGreen, kBlue, kYellow, kCyan, kMagenta);
            }
        }
        ///////////////
        //green
        private void hScrollBar3_Scroll_1(object sender, ScrollEventArgs e)
        {
            kRed = hScrollBar1.Value;
            kYellow = hScrollBar2.Value;
            kGreen = hScrollBar3.Value;
            kCyan = hScrollBar4.Value;
            kBlue = hScrollBar5.Value;
            kMagenta = hScrollBar6.Value;
            textBox3.Text = kGreen.ToString();
            if (pictureBox1.Image != null)
            {
                pictureBox1.Image = (Image)zPhoto.BlackwhiteProcess(curBitmap, kRed, kGreen, kBlue, kYellow, kCyan, kMagenta);
            }
        }
        //cyan
        private void hScrollBar4_Scroll_1(object sender, ScrollEventArgs e)
        {
            kRed = hScrollBar1.Value;
            kYellow = hScrollBar2.Value;
            kGreen = hScrollBar3.Value;
            kCyan = hScrollBar4.Value;
            kBlue = hScrollBar5.Value;
            kMagenta = hScrollBar6.Value;
            textBox4.Text = kCyan.ToString();
            if (pictureBox1.Image != null)
            {
                pictureBox1.Image = (Image)zPhoto.BlackwhiteProcess(curBitmap, kRed, kGreen, kBlue, kYellow, kCyan, kMagenta);
            }
        }
        //blue
        private void hScrollBar5_Scroll_1(object sender, ScrollEventArgs e)
        {
            kRed = hScrollBar1.Value;
            kYellow = hScrollBar2.Value;
            kGreen = hScrollBar3.Value;
            kCyan = hScrollBar4.Value;
            kBlue = hScrollBar5.Value;
            kMagenta = hScrollBar6.Value;
            textBox5.Text = kBlue.ToString();
            if (pictureBox1.Image != null)
            {
                pictureBox1.Image = (Image)zPhoto.BlackwhiteProcess(curBitmap, kRed, kGreen, kBlue, kYellow, kCyan, kMagenta);
            }
        }
        //magenta
        private void hScrollBar6_Scroll_1(object sender, ScrollEventArgs e)
        {
            kRed = hScrollBar1.Value;
            kYellow = hScrollBar2.Value;
            kGreen = hScrollBar3.Value;
            kCyan = hScrollBar4.Value;
            kBlue = hScrollBar5.Value;
            kMagenta = hScrollBar6.Value;
            textBox6.Text = kMagenta.ToString();
            if (pictureBox1.Image != null)
            {
                pictureBox1.Image = (Image)zPhoto.BlackwhiteProcess(curBitmap, kRed, kGreen, kBlue, kYellow, kCyan, kMagenta);
            }
        }
    }
}


================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BlackWhiteForm.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BrightContrastForm.Designer.cs
================================================
namespace TestDemo
{
    partial class BrightContrastForm
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.pictureBox1 = new System.Windows.Forms.PictureBox();
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.checkBox1 = new System.Windows.Forms.CheckBox();
            this.hScrollBar1 = new System.Windows.Forms.HScrollBar();
            this.hScrollBar2 = new System.Windows.Forms.HScrollBar();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.label1 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.skinButton1 = new CCWin.SkinControl.SkinButton();
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
            this.groupBox1.SuspendLayout();
            this.SuspendLayout();
            // 
            // pictureBox1
            // 
            this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.pictureBox1.Location = new System.Drawing.Point(207, 38);
            this.pictureBox1.Name = "pictureBox1";
            this.pictureBox1.Size = new System.Drawing.Size(150, 150);
            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
            this.pictureBox1.TabIndex = 3;
            this.pictureBox1.TabStop = false;
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.Add(this.checkBox1);
            this.groupBox1.Controls.Add(this.hScrollBar1);
            this.groupBox1.Controls.Add(this.hScrollBar2);
            this.groupBox1.Controls.Add(this.textBox2);
            this.groupBox1.Controls.Add(this.textBox1);
            this.groupBox1.Controls.Add(this.label1);
            this.groupBox1.Controls.Add(this.label2);
            this.groupBox1.Controls.Add(this.skinButton1);
            this.groupBox1.Location = new System.Drawing.Point(7, 35);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(185, 153);
            this.groupBox1.TabIndex = 2;
            this.groupBox1.TabStop = false;
            // 
            // checkBox1
            // 
            this.checkBox1.AutoSize = true;
            this.checkBox1.Location = new System.Drawing.Point(17, 124);
            this.checkBox1.Name = "checkBox1";
            this.checkBox1.Size = new System.Drawing.Size(48, 16);
            this.checkBox1.TabIndex = 8;
            this.checkBox1.Text = "旧版";
            this.checkBox1.UseVisualStyleBackColor = true;
            this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
            // 
            // hScrollBar1
            // 
            this.hScrollBar1.Location = new System.Drawing.Point(11, 40);
            this.hScrollBar1.Maximum = 109;
            this.hScrollBar1.Minimum = -100;
            this.hScrollBar1.Name = "hScrollBar1";
            this.hScrollBar1.Size = new System.Drawing.Size(164, 17);
            this.hScrollBar1.TabIndex = 4;
            this.hScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar1_Scroll);
            // 
            // hScrollBar2
            // 
            this.hScrollBar2.Location = new System.Drawing.Point(11, 93);
            this.hScrollBar2.Maximum = 109;
            this.hScrollBar2.Minimum = -100;
            this.hScrollBar2.Name = "hScrollBar2";
            this.hScrollBar2.Size = new System.Drawing.Size(164, 17);
            this.hScrollBar2.TabIndex = 5;
            this.hScrollBar2.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar2_Scroll);
            // 
            // textBox2
            // 
            this.textBox2.Location = new System.Drawing.Point(74, 65);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(65, 21);
            this.textBox2.TabIndex = 7;
            this.textBox2.Text = "0";
            this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(74, 14);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(65, 21);
            this.textBox1.TabIndex = 6;
            this.textBox1.Text = "0";
            this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(15, 17);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(41, 12);
            this.label1.TabIndex = 4;
            this.label1.Text = "亮度:";
            // 
            // label2
            // 
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(15, 68);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(53, 12);
            this.label2.TabIndex = 5;
            this.label2.Text = "对比度:";
            // 
            // skinButton1
            // 
            this.skinButton1.BackColor = System.Drawing.Color.Transparent;
            this.skinButton1.ControlState = CCWin.SkinClass.ControlState.Normal;
            this.skinButton1.DownBack = null;
            this.skinButton1.Location = new System.Drawing.Point(100, 121);
            this.skinButton1.MouseBack = null;
            this.skinButton1.Name = "skinButton1";
            this.skinButton1.NormlBack = null;
            this.skinButton1.Size = new System.Drawing.Size(75, 23);
            this.skinButton1.TabIndex = 3;
            this.skinButton1.Text = "确定";
            this.skinButton1.UseVisualStyleBackColor = false;
            this.skinButton1.Click += new System.EventHandler(this.skinButton1_Click);
            // 
            // BrightContrastForm
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(371, 196);
            this.Controls.Add(this.pictureBox1);
            this.Controls.Add(this.groupBox1);
            this.MaximizeBox = false;
            this.MaximumSize = new System.Drawing.Size(371, 196);
            this.MinimizeBox = false;
            this.MinimumSize = new System.Drawing.Size(371, 196);
            this.Name = "BrightContrastForm";
            this.Text = "图像亮度对比度";
            this.TitleCenter = false;
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.PictureBox pictureBox1;
        private System.Windows.Forms.GroupBox groupBox1;
        private CCWin.SkinControl.SkinButton skinButton1;
        private System.Windows.Forms.CheckBox checkBox1;
        private System.Windows.Forms.HScrollBar hScrollBar1;
        private System.Windows.Forms.HScrollBar hScrollBar2;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
    }
}

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BrightContrastForm.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TestDemo
{
    public partial class BrightContrastForm : CCWin.Skin_Mac
    {
        public BrightContrastForm(string path)
        {
            InitializeComponent();
            this.DoubleBuffered = true;
            zPhoto = new ZPhotoEngineDll();
            Bitmap tmp = new Bitmap(path);
            if (tmp != null)
            {
                curBitmap = new Bitmap(tmp, 150 * tmp.Width / Math.Max(tmp.Width, tmp.Height), 150 * tmp.Height / Math.Max(tmp.Width, tmp.Height));
                pictureBox1.Image = (Image)curBitmap;
            }
        }
        private ZPhotoEngineDll zPhoto = null;
        private int brightness = 0;
        private int contrast = 0;
        private bool versionNew = true;
        private Bitmap curBitmap = null;
        public int getBright
        {
            get { return brightness; }
        }
        public int getContrast
        {
            get { return contrast; }
        }
        public bool getVersion
        {
            get { return versionNew; }
        }
        private void skinButton1_Click(object sender, EventArgs e)
        {
            if (curBitmap != null)
            {
                //brightness = hScrollBar1.Value;
                //contrast = hScrollBar2.Value;
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
        }
        //bright
        private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
        {
            if (curBitmap != null)
            {
                textBox1.Text = hScrollBar1.Value.ToString();
                brightness = hScrollBar1.Value;
                contrast = hScrollBar2.Value;
                if (versionNew)
                {
                    pictureBox1.Image = zPhoto.NLinearBrightContrastAdjust(curBitmap, brightness,contrast, 128);
                }
                else
                {
                    pictureBox1.Image = zPhoto.LinearBrightContrastAdjust(curBitmap, brightness, contrast, 128);
                }
            }
        }
        //contrast
        private void hScrollBar2_Scroll(object sender, ScrollEventArgs e)
        {
            if (curBitmap != null)
            {
                textBox2.Text = hScrollBar2.Value.ToString();
                brightness = hScrollBar1.Value;
                contrast = hScrollBar2.Value;
                if (versionNew)
                {
                    pictureBox1.Image = zPhoto.NLinearBrightContrastAdjust(curBitmap, brightness, contrast, 128);
                }
                else
                {
                    pictureBox1.Image = zPhoto.LinearBrightContrastAdjust(curBitmap, brightness, contrast, 128);
                }
                
            }
        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked)
            {
                versionNew = false;
                //hScrollBar1.Maximum = 159;
                //hScrollBar1.Minimum = -150;
                //hScrollBar2.Maximum = 109;
                //hScrollBar2.Minimum = -50;
                hScrollBar1.Value = 0;
                hScrollBar2.Value = 0;
                textBox1.Text = hScrollBar1.Value.ToString();
                textBox2.Text = hScrollBar2.Value.ToString();
                brightness = 0;
                contrast = 0;
            }
            else
            {
                versionNew = true;
                //hScrollBar1.Maximum = 109;
                //hScrollBar1.Minimum = -100;
                //hScrollBar2.Maximum = 109;
                //hScrollBar2.Minimum = -100;
                hScrollBar1.Value = 0;
                hScrollBar2.Value = 0;
                textBox1.Text = hScrollBar1.Value.ToString();
                textBox2.Text = hScrollBar2.Value.ToString();
                brightness = 0;
                contrast = 0;
            }
        }
    }
}


================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BrightContrastForm.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ChannelMixForm.Designer.cs
================================================
namespace TestDemo
{
    partial class ChannelMixForm
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.label8 = new System.Windows.Forms.Label();
            this.label4 = new System.Windows.Forms.Label();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.label1 = new System.Windows.Forms.Label();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.hScrollBar3 = new System.Windows.Forms.HScrollBar();
            this.hScrollBar2 = new System.Windows.Forms.HScrollBar();
            this.hScrollBar1 = new System.Windows.Forms.HScrollBar();
            this.label6 = new System.Windows.Forms.Label();
            this.label5 = new System.Windows.Forms.Label();
            this.label3 = new System.Windows.Forms.Label();
            this.checkBox1 = new System.Windows.Forms.CheckBox();
            this.hScrollBar4 = new System.Windows.Forms.HScrollBar();
            this.label7 = new System.Windows.Forms.Label();
            this.textBox4 = new System.Windows.Forms.TextBox();
            this.label2 = new System.Windows.Forms.Label();
            this.comboBox1 = new System.Windows.Forms.ComboBox();
            this.pictureBox1 = new System.Windows.Forms.PictureBox();
            this.label9 = new System.Windows.Forms.Label();
            this.button1 = new System.Windows.Forms.Button();
            this.groupBox1.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
            this.SuspendLayout();
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.Add(this.label8);
            this.groupBox1.Controls.Add(this.label4);
            this.groupBox1.Controls.Add(this.textBox3);
            this.groupBox1.Controls.Add(this.label1);
            this.groupBox1.Controls.Add(this.textBox2);
            this.groupBox1.Controls.Add(this.textBox1);
            this.groupBox1.Controls.Add(this.hScrollBar3);
            this.groupBox1.Controls.Add(this.hScrollBar2);
            this.groupBox1.Controls.Add(this.hScrollBar1);
            this.groupBox1.Controls.Add(this.label6);
            this.groupBox1.Controls.Add(this.label5);
            this.groupBox1.Controls.Add(this.label3);
            this.groupBox1.Location = new System.Drawing.Point(18, 70);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(275, 168);
            this.groupBox1.TabIndex = 0;
            this.groupBox1.TabStop = false;
            this.groupBox1.Text = "源通道";
            // 
            // label8
            // 
            this.label8.AutoSize = true;
            this.label8.Location = new System.Drawing.Point(249, 113);
            this.label8.Name = "label8";
            this.label8.Size = new System.Drawing.Size(11, 12);
            this.label8.TabIndex = 71;
            this.label8.Text = "%";
            this.label8.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // label4
            // 
            this.label4.AutoSize = true;
            this.label4.Location = new System.Drawing.Point(249, 69);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(11, 12);
            this.label4.TabIndex = 70;
            this.label4.Text = "%";
            this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // textBox3
            // 
            this.textBox3.Location = new System.Drawing.Point(195, 110);
            this.textBox3.Name = "textBox3";
            this.textBox3.Size = new System.Drawing.Size(46, 21);
            this.textBox3.TabIndex = 63;
            this.textBox3.Text = "0";
            this.textBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(249, 23);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(11, 12);
            this.label1.TabIndex = 69;
            this.label1.Text = "%";
            this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // textBox2
            // 
            this.textBox2.Location = new System.Drawing.Point(195, 66);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(46, 21);
            this.textBox2.TabIndex = 62;
            this.textBox2.Text = "0";
            this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(195, 20);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(46, 21);
            this.textBox1.TabIndex = 61;
            this.textBox1.Text = "100";
            this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // hScrollBar3
            // 
            this.hScrollBar3.Location = new System.Drawing.Point(59, 134);
            this.hScrollBar3.Maximum = 209;
            this.hScrollBar3.Minimum = -200;
            this.hScrollBar3.Name = "hScrollBar3";
            this.hScrollBar3.Size = new System.Drawing.Size(201, 17);
            this.hScrollBar3.TabIndex = 60;
            this.hScrollBar3.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar3_Scroll);
            // 
            // hScrollBar2
            // 
            this.hScrollBar2.Location = new System.Drawing.Point(59, 90);
            this.hScrollBar2.Maximum = 209;
            this.hScrollBar2.Minimum = -200;
            this.hScrollBar2.Name = "hScrollBar2";
            this.hScrollBar2.Size = new System.Drawing.Size(201, 17);
            this.hScrollBar2.TabIndex = 59;
            this.hScrollBar2.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar2_Scroll);
            // 
            // hScrollBar1
            // 
            this.hScrollBar1.Location = new System.Drawing.Point(59, 46);
            this.hScrollBar1.Maximum = 209;
            this.hScrollBar1.Minimum = -200;
            this.hScrollBar1.Name = "hScrollBar1";
            this.hScrollBar1.Size = new System.Drawing.Size(201, 17);
            this.hScrollBar1.TabIndex = 58;
            this.hScrollBar1.Value = 100;
            this.hScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar1_Scroll);
            // 
            // label6
            // 
            this.label6.AutoSize = true;
            this.label6.Location = new System.Drawing.Point(12, 117);
            this.label6.Name = "label6";
            this.label6.Size = new System.Drawing.Size(41, 12);
            this.label6.TabIndex = 57;
            this.label6.Text = "蓝色:";
            // 
            // label5
            // 
            this.label5.AutoSize = true;
            this.label5.Location = new System.Drawing.Point(14, 73);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(41, 12);
            this.label5.TabIndex = 56;
            this.label5.Text = "绿色:";
            // 
            // label3
            // 
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(14, 25);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(41, 12);
            this.label3.TabIndex = 55;
            this.label3.Text = "红色:";
            // 
            // checkBox1
            // 
            this.checkBox1.AutoSize = true;
            this.checkBox1.Location = new System.Drawing.Point(32, 296);
            this.checkBox1.Name = "checkBox1";
            this.checkBox1.Size = new System.Drawing.Size(48, 16);
            this.checkBox1.TabIndex = 67;
            this.checkBox1.Text = "单色";
            this.checkBox1.UseVisualStyleBackColor = true;
            this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
            // 
            // hScrollBar4
            // 
            this.hScrollBar4.Location = new System.Drawing.Point(77, 267);
            this.hScrollBar4.Maximum = 209;
            this.hScrollBar4.Minimum = -200;
            this.hScrollBar4.Name = "hScrollBar4";
            this.hScrollBar4.Size = new System.Drawing.Size(201, 17);
            this.hScrollBar4.TabIndex = 66;
            this.hScrollBar4.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar4_Scroll);
            // 
            // label7
            // 
            this.label7.AutoSize = true;
            this.label7.Location = new System.Drawing.Point(32, 248);
            this.label7.Name = "label7";
            this.label7.Size = new System.Drawing.Size(47, 12);
            this.label7.TabIndex = 65;
            this.label7.Text = "常数N:";
            // 
            // textBox4
            // 
            this.textBox4.Location = new System.Drawing.Point(213, 243);
            this.textBox4.Name = "textBox4";
            this.textBox4.Size = new System.Drawing.Size(46, 21);
            this.textBox4.TabIndex = 64;
            this.textBox4.Text = "0";
            this.textBox4.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // label2
            // 
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(21, 49);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(65, 12);
            this.label2.TabIndex = 54;
            this.label2.Text = "输出通道:";
            // 
            // comboBox1
            // 
            this.comboBox1.FormattingEnabled = true;
            this.comboBox1.Items.AddRange(new object[] {
            "红",
            "绿",
            "蓝",
            "灰色"});
            this.comboBox1.Location = new System.Drawing.Point(120, 46);
            this.comboBox1.Name = "comboBox1";
            this.comboBox1.Size = new System.Drawing.Size(77, 20);
            this.comboBox1.TabIndex = 53;
            this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged);
            // 
            // pictureBox1
            // 
            this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
                        | System.Windows.Forms.AnchorStyles.Right)));
            this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.pictureBox1.Location = new System.Drawing.Point(308, 46);
            this.pictureBox1.Name = "pictureBox1";
            this.pictureBox1.Size = new System.Drawing.Size(355, 331);
            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
            this.pictureBox1.TabIndex = 68;
            this.pictureBox1.TabStop = false;
            // 
            // label9
            // 
            this.label9.AutoSize = true;
            this.label9.Location = new System.Drawing.Point(267, 248);
            this.label9.Name = "label9";
            this.label9.Size = new System.Drawing.Size(11, 12);
            this.label9.TabIndex = 72;
            this.label9.Text = "%";
            this.label9.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
            // 
            // button1
            // 
            this.button1.Location = new System.Drawing.Point(120, 337);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(75, 23);
            this.button1.TabIndex = 73;
            this.button1.Text = "确定";
            this.button1.UseVisualStyleBackColor = true;
            this.button1.Click += new System.EventHandler(this.button1_Click);
            // 
            // ChannelMixForm
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(679, 395);
            this.Controls.Add(this.button1);
            this.Controls.Add(this.label9);
            this.Controls.Add(this.pictureBox1);
            this.Controls.Add(this.checkBox1);
            this.Controls.Add(this.groupBox1);
            this.Controls.Add(this.hScrollBar4);
            this.Controls.Add(this.comboBox1);
            this.Controls.Add(this.label7);
            this.Controls.Add(this.textBox4);
            this.Controls.Add(this.label2);
            this.MaximumSize = new System.Drawing.Size(679, 395);
            this.MinimizeBox = false;
            this.MinimumSize = new System.Drawing.Size(679, 395);
            this.Name = "ChannelMixForm";
            this.Text = "通道混合器";
            this.TitleCenter = false;
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
            this.ResumeLayout(false);
            this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.GroupBox groupBox1;
        private System.Windows.Forms.TextBox textBox3;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.HScrollBar hScrollBar3;
        private System.Windows.Forms.HScrollBar hScrollBar2;
        private System.Windows.Forms.HScrollBar hScrollBar1;
        private System.Windows.Forms.Label label6;
        private System.Windows.Forms.Label label5;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.CheckBox checkBox1;
        private System.Windows.Forms.HScrollBar hScrollBar4;
        private System.Windows.Forms.Label label7;
        private System.Windows.Forms.TextBox textBox4;
        private System.Windows.Forms.Label label2;
        private System.Windows.Forms.ComboBox comboBox1;
        private System.Windows.Forms.Label label8;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.PictureBox pictureBox1;
        private System.Windows.Forms.Label label9;
        private System.Windows.Forms.Button button1;
    }
}

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ChannelMixForm.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TestDemo
{
    public partial class ChannelMixForm : CCWin.Skin_Mac
    {
        public ChannelMixForm(string path)
        {
            InitializeComponent();
            this.DoubleBuffered = true;
            srcBitmap = new Bitmap (path);
            curBitmap = new Bitmap(srcBitmap);
            comboBox1.SelectedIndex = 0;
            pictureBox1.Image = (Image)curBitmap;
            zPhoto = new ZPhotoEngineDll();
        }
        private Bitmap curBitmap = null;
        private Bitmap srcBitmap = null;
        private int kr = 0, kg = 0, kb = 0, N = 0, channel = 0;
        private bool singleColor = false;
        private ZPhotoEngineDll zPhoto = null;
        public Bitmap getResImage
        {
            get { return curBitmap; }
        }
        //red
        private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
        {
            if (pictureBox1.Image != null)
            {
                textBox1.Text = hScrollBar1.Value.ToString();
                kr = hScrollBar1.Value;
                kg = hScrollBar2.Value;
                kb = hScrollBar3.Value;
                channel = comboBox1.SelectedIndex;
                pictureBox1.Image = (Image)zPhoto.ChannelMixProcess(curBitmap, channel, kr, kg, kb, N, singleColor, false);
            }
        }
        //green
        private void hScrollBar2_Scroll(object sender, ScrollEventArgs e)
        {
            if (pictureBox1.Image != null)
            {
                textBox2.Text = hScrollBar2.Value.ToString();
                kr = hScrollBar1.Value;
                kg = hScrollBar2.Value;
                kb = hScrollBar3.Value;
                channel = comboBox1.SelectedIndex;
                pictureBox1.Image = (Image)zPhoto.ChannelMixProcess(curBitmap, channel, kr, kg, kb, N, singleColor, false);
            }
        }
        //blue
        private void hScrollBar3_Scroll(object sender, ScrollEventArgs e)
        {
            if (pictureBox1.Image != null)
            {
                textBox3.Text = hScrollBar3.Value.ToString();
                kr = hScrollBar1.Value;
                kg = hScrollBar2.Value;
                kb = hScrollBar3.Value;
                channel = comboBox1.SelectedIndex;
                pictureBox1.Image = (Image)zPhoto.ChannelMixProcess(curBitmap, channel, kr, kg, kb, N, singleColor, false);
            }
        }
        //N
        private void hScrollBar4_Scroll(object sender, ScrollEventArgs e)
        {
            if (pictureBox1.Image != null)
            {
                N = hScrollBar4.Value;
                kr = hScrollBar1.Value;
                kg = hScrollBar2.Value;
                kb = hScrollBar3.Value;
                channel = comboBox1.SelectedIndex;
                textBox4.Text = hScrollBar4.Value.ToString();
                pictureBox1.Image = (Image)zPhoto.ChannelMixProcess(curBitmap, channel, kr, kg, kb, N, singleColor, true);
            }
        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked)
            {
                singleColor = true;
                comboBox1.SelectedIndex = 3;
                kr = 40; 
                kg = 40;
                kb = 20;
                N = 0;
                textBox1.Text = kr.ToString();
                textBox2.Text = kg.ToString();
                textBox3.Text = kb.ToString();
                textBox4.Text = N.ToString();
                hScrollBar1.Value = 40;
                hScrollBar2.Value = 40;
                hScrollBar3.Value = 20;
                hScrollBar4.Value = 0;
                curBitmap = new Bitmap(srcBitmap);
                pictureBox1.Image = (Image)curBitmap;
            }
            else
            {
                singleColor = false;
                comboBox1.SelectedIndex = 0;
                kr = 100;
                kg = 0;
                kb = 0;
                N = 0;
                textBox1.Text = kr.ToString();
                textBox2.Text = kg.ToString();
                textBox3.Text = kb.ToString();
                textBox4.Text = N.ToString();
                hScrollBar1.Value = 100;
                hScrollBar2.Value = 0;
                hScrollBar3.Value = 0;
                hScrollBar4.Value = 0;
                curBitmap = new Bitmap(srcBitmap);
                pictureBox1.Image = (Image)curBitmap;
            }
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (comboBox1.SelectedIndex == 3)
            {
                singleColor = true;
                checkBox1.Checked = true;
            }
            else
            {
                singleColor = false;
                checkBox1.Checked = false;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (pictureBox1.Image != null)
            {
                curBitmap = new Bitmap((Bitmap)pictureBox1.Image);
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
        }
    }
}


================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ChannelMixForm.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ColorbalanceForm.Designer.cs
================================================
namespace TestDemo
{
    partial class ColorbalanceForm
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.pictureBox1 = new System.Windows.Forms.PictureBox();
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.checkBox1 = new System.Windows.Forms.CheckBox();
            this.label7 = new System.Windows.Forms.Label();
            this.label6 = new System.Windows.Forms.Label();
            this.label5 = new System.Windows.Forms.Label();
            this.label4 = new System.Windows.Forms.Label();
            this.hScrollBar3 = new System.Windows.Forms.HScrollBar();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.label3 = new System.Windows.Forms.Label();
            this.hScrollBar1 = new System.Windows.Forms.HScrollBar();
            this.hScrollBar2 = new System.Windows.Forms.HScrollBar();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.label1 = new System.Windows.Forms.Label();
            this.label2 = new System.Windows.Forms.Label();
            this.skinButton1 = new CCWin.SkinControl.SkinButton();
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
            this.groupBox1.SuspendLayout();
            this.SuspendLayout();
            // 
            // pictureBox1
            // 
            this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.pictureBox1.Location = new System.Drawing.Point(253, 45);
            this.pictureBox1.Name = "pictureBox1";
            this.pictureBox1.Size = new System.Drawing.Size(190, 190);
            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
            this.pictureBox1.TabIndex = 7;
            this.pictureBox1.TabStop = false;
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.Add(this.checkBox1);
            this.groupBox1.Controls.Add(this.label7);
            this.groupBox1.Controls.Add(this.label6);
            this.groupBox1.Controls.Add(this.label5);
            this.groupBox1.Controls.Add(this.label4);
            this.groupBox1.Controls.Add(this.hScrollBar3);
            this.groupBox1.Controls.Add(this.textBox3);
            this.groupBox1.Controls.Add(this.label3);
            this.groupBox1.Controls.Add(this.hScrollBar1);
            this.groupBox1.Controls.Add(this.hScrollBar2);
            this.groupBox1.Controls.Add(this.textBox2);
            this.groupBox1.Controls.Add(this.textBox1);
            this.groupBox1.Controls.Add(this.label1);
            this.groupBox1.Controls.Add(this.label2);
            this.groupBox1.Controls.Add(this.skinButton1);
            this.groupBox1.Location = new System.Drawing.Point(9, 36);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(237, 199);
            this.groupBox1.TabIndex = 6;
            this.groupBox1.TabStop = false;
            // 
            // checkBox1
            // 
            this.checkBox1.AutoSize = true;
            this.checkBox1.Checked = true;
            this.checkBox1.CheckState = System.Windows.Forms.CheckState.Checked;
            this.checkBox1.Location = new System.Drawing.Point(17, 163);
            this.checkBox1.Name = "checkBox1";
            this.checkBox1.Size = new System.Drawing.Size(72, 16);
            this.checkBox1.TabIndex = 15;
            this.checkBox1.Text = "保持明度";
            this.checkBox1.UseVisualStyleBackColor = true;
            this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
            // 
            // label7
            // 
            this.label7.AutoSize = true;
            this.label7.Location = new System.Drawing.Point(204, 119);
            this.label7.Name = "label7";
            this.label7.Size = new System.Drawing.Size(29, 12);
            this.label7.TabIndex = 14;
            this.label7.Text = "蓝色";
            // 
            // label6
            // 
            this.label6.AutoSize = true;
            this.label6.Location = new System.Drawing.Point(6, 119);
            this.label6.Name = "label6";
            this.label6.Size = new System.Drawing.Size(29, 12);
            this.label6.TabIndex = 13;
            this.label6.Text = "黄色";
            // 
            // label5
            // 
            this.label5.AutoSize = true;
            this.label5.Location = new System.Drawing.Point(204, 47);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(29, 12);
            this.label5.TabIndex = 12;
            this.label5.Text = "红色";
            // 
            // label4
            // 
            this.label4.AutoSize = true;
            this.label4.Location = new System.Drawing.Point(6, 47);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(29, 12);
            this.label4.TabIndex = 11;
            this.label4.Text = "青色";
            // 
            // hScrollBar3
            // 
            this.hScrollBar3.Location = new System.Drawing.Point(37, 116);
            this.hScrollBar3.Maximum = 109;
            this.hScrollBar3.Minimum = -100;
            this.hScrollBar3.Name = "hScrollBar3";
            this.hScrollBar3.Size = new System.Drawing.Size(164, 17);
            this.hScrollBar3.TabIndex = 9;
            this.hScrollBar3.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar3_Scroll);
            // 
            // textBox3
            // 
            this.textBox3.Location = new System.Drawing.Point(163, 14);
            this.textBox3.Name = "textBox3";
            this.textBox3.Size = new System.Drawing.Size(38, 21);
            this.textBox3.TabIndex = 10;
            this.textBox3.Text = "0";
            this.textBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // label3
            // 
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(204, 82);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(29, 12);
            this.label3.TabIndex = 8;
            this.label3.Text = "绿色";
            // 
            // hScrollBar1
            // 
            this.hScrollBar1.Location = new System.Drawing.Point(37, 44);
            this.hScrollBar1.Maximum = 109;
            this.hScrollBar1.Minimum = -100;
            this.hScrollBar1.Name = "hScrollBar1";
            this.hScrollBar1.Size = new System.Drawing.Size(164, 17);
            this.hScrollBar1.TabIndex = 4;
            this.hScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar1_Scroll);
            // 
            // hScrollBar2
            // 
            this.hScrollBar2.Location = new System.Drawing.Point(37, 80);
            this.hScrollBar2.Maximum = 109;
            this.hScrollBar2.Minimum = -100;
            this.hScrollBar2.Name = "hScrollBar2";
            this.hScrollBar2.Size = new System.Drawing.Size(164, 17);
            this.hScrollBar2.TabIndex = 5;
            this.hScrollBar2.Scroll += new System.Windows.Forms.ScrollEventHandler(this.hScrollBar2_Scroll);
            // 
            // textBox2
            // 
            this.textBox2.Location = new System.Drawing.Point(119, 14);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(38, 21);
            this.textBox2.TabIndex = 7;
            this.textBox2.Text = "0";
            this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(75, 14);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(38, 21);
            this.textBox1.TabIndex = 6;
            this.textBox1.Text = "0";
            this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(15, 18);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(53, 12);
            this.label1.TabIndex = 4;
            this.label1.Text = "色阶(L):";
            // 
            // label2
            // 
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(6, 82);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(29, 12);
            this.label2.TabIndex = 5;
            this.label2.Text = "洋红";
            // 
            // skinButton1
            // 
            this.skinButton1.BackColor = System.Drawing.Color.Transparent;
            this.skinButton1.ControlState = CCWin.SkinClass.ControlState.Normal;
            this.skinButton1.DownBack = null;
            this.skinButton1.Location = new System.Drawing.Point(147, 159);
            this.skinButton1.MouseBack = null;
            this.skinButton1.Name = "skinButton1";
            this.skinButton1.NormlBack = null;
            this.skinButton1.Size = new System.Drawing.Size(75, 23);
            this.skinButton1.TabIndex = 3;
            this.skinButton1.Text = "确定";
            this.skinButton1.UseVisualStyleBackColor = false;
            this.skinButton1.Click += new System.EventHandler(this.skinButton1_Click);
            // 
            // ColorbalanceForm
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(450, 243);
            this.Controls.Add(this.pictureBox1);
            this.Controls.Add(this.groupBox1);
            this.MaximizeBox = false;
            this.MaximumSize = new System.Drawing.Size(450, 243);
            this.MinimizeBox = false;
            this.MinimumSize = new System.Drawing.Size(450, 243);
            this.Name = "ColorbalanceForm";
            this.Text = "色彩平衡";
            this.TitleCenter = false;
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.PictureBox pictureBox1;
        private System.Windows.Forms.GroupBox groupBox1;
        private System.Windows.Forms.HScrollBar hScrollBar3;
        private System.Windows.Forms.TextBox textBox3;
        private System.Windows.Forms.Label label3;
        private System.Windows.Forms.HScrollBar hScrollBar1;
        private System.Windows.Forms.HScrollBar hScrollBar2;
        private System.Windows.Forms.TextBox textBox2;
        private System.Windows.Forms.TextBox textBox1;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.Label label2;
        private CCWin.SkinControl.SkinButton skinButton1;
        private System.Windows.Forms.Label label5;
        private System.Windows.Forms.Label label4;
        private System.Windows.Forms.CheckBox checkBox1;
        private System.Windows.Forms.Label label7;
        private System.Windows.Forms.Label label6;
    }
}

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ColorbalanceForm.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TestDemo
{
    public partial class ColorbalanceForm : CCWin.Skin_Mac
    {
        public ColorbalanceForm(string path)
        {
            InitializeComponent();
            this.DoubleBuffered = true;
            zPhoto = new ZPhotoEngineDll();
            Bitmap tmp = new Bitmap(path);
            if (tmp != null)
            {
                curBitmap = new Bitmap(tmp, 150 * tmp.Width / Math.Max(tmp.Width, tmp.Height), 150 * tmp.Height / Math.Max(tmp.Width, tmp.Height));
                pictureBox1.Image = (Image)curBitmap;
            }
        }
        private ZPhotoEngineDll zPhoto = null;
        private Bitmap curBitmap = null;
        private int cyan = 0, magenta = 0, yellow = 0;
        private bool preserveLuminosity = true;
        public int getCyan
        {
            get { return cyan; }
        }
        public int getMagenta
        {
            get { return magenta; }
        }
        public int getYellow
        {
            get { return yellow;  }
        }
        public bool getLum
        {
            get { return preserveLuminosity; }
        }
        private void skinButton1_Click(object sender, EventArgs e)
        {
            cyan = hScrollBar1.Value;
            magenta = hScrollBar2.Value;
            yellow = hScrollBar3.Value;
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
        //cyan
        private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
        {
            if (curBitmap != null)
            {
                cyan = hScrollBar1.Value;
                magenta = hScrollBar2.Value;
                yellow = hScrollBar3.Value;
                textBox1.Text = cyan.ToString();
                textBox2.Text = magenta.ToString();
                textBox3.Text = yellow.ToString();
                pictureBox1.Image = (Image)zPhoto.ColorBalanceProcess(curBitmap, cyan, magenta, yellow, 0, preserveLuminosity);
            }
        }
        //magenta
        private void hScrollBar2_Scroll(object sender, ScrollEventArgs e)
        {
            if (curBitmap != null)
            {
                cyan = hScrollBar1.Value;
                magenta = hScrollBar2.Value;
                yellow = hScrollBar3.Value;
                textBox1.Text = cyan.ToString();
                textBox2.Text = magenta.ToString();
                textBox3.Text = yellow.ToString();
                pictureBox1.Image = (Image)zPhoto.ColorBalanceProcess(curBitmap, cyan, magenta, yellow, 0, preserveLuminosity);
            }
        }
        //yellow
        private void hScrollBar3_Scroll(object sender, ScrollEventArgs e)
        {
            if (curBitmap != null)
            {
                cyan = hScrollBar1.Value;
                magenta = hScrollBar2.Value;
                yellow = hScrollBar3.Value;
                textBox1.Text = cyan.ToString();
                textBox2.Text = magenta.ToString();
                textBox3.Text = yellow.ToString();
                pictureBox1.Image = (Image)zPhoto.ColorBalanceProcess(curBitmap, cyan, magenta, yellow, 0, preserveLuminosity);
            }
        }

        private void checkBox1_CheckedChanged(object sender, EventArgs e)
        {
            if (checkBox1.Checked)
            {
                preserveLuminosity = true;
                hScrollBar1.Value = 0;
                hScrollBar2.Value = 0;
                hScrollBar3.Value = 0;
                cyan = hScrollBar1.Value;
                magenta = hScrollBar1.Value;
                yellow = hScrollBar1.Value;
                textBox1.Text = cyan.ToString();
                textBox2.Text = magenta.ToString();
                textBox3.Text = yellow.ToString();
            }
            else
            {
                preserveLuminosity = false;
                hScrollBar1.Value = 0;
                hScrollBar2.Value = 0;
                hScrollBar3.Value = 0;
                cyan = hScrollBar1.Value;
                magenta = hScrollBar1.Value;
                yellow = hScrollBar1.Value;
                textBox1.Text = cyan.ToString();
                textBox2.Text = magenta.ToString();
                textBox3.Text = yellow.ToString();
            }
        }
    }
}


================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ColorbalanceForm.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DifussionForm.Designer.cs
================================================
namespace TestDemo
{
    partial class DifussionForm
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.pictureBox1 = new System.Windows.Forms.PictureBox();
            this.groupBox1 = new System.Windows.Forms.GroupBox();
            this.skinHScrollBar1 = new CCWin.SkinControl.SkinHScrollBar();
            this.skinButton1 = new CCWin.SkinControl.SkinButton();
            this.label1 = new System.Windows.Forms.Label();
            this.textBox1 = new System.Windows.Forms.TextBox();
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
            this.groupBox1.SuspendLayout();
            this.SuspendLayout();
            // 
            // pictureBox1
            // 
            this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
            this.pictureBox1.Location = new System.Drawing.Point(207, 38);
            this.pictureBox1.Name = "pictureBox1";
            this.pictureBox1.Size = new System.Drawing.Size(150, 150);
            this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
            this.pictureBox1.TabIndex = 11;
            this.pictureBox1.TabStop = false;
            // 
            // groupBox1
            // 
            this.groupBox1.Controls.Add(this.skinHScrollBar1);
            this.groupBox1.Controls.Add(this.skinButton1);
            this.groupBox1.Controls.Add(this.label1);
            this.groupBox1.Controls.Add(this.textBox1);
            this.groupBox1.Location = new System.Drawing.Point(7, 35);
            this.groupBox1.Name = "groupBox1";
            this.groupBox1.Size = new System.Drawing.Size(185, 153);
            this.groupBox1.TabIndex = 10;
            this.groupBox1.TabStop = false;
            // 
            // skinHScrollBar1
            // 
            this.skinHScrollBar1.BackHover = System.Drawing.Color.FromArgb(((int)(((byte)(121)))), ((int)(((byte)(216)))), ((int)(((byte)(243)))));
            this.skinHScrollBar1.BackNormal = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(249)))), ((int)(((byte)(253)))));
            this.skinHScrollBar1.BackPressed = System.Drawing.Color.FromArgb(((int)(((byte)(70)))), ((int)(((byte)(202)))), ((int)(((byte)(239)))));
            this.skinHScrollBar1.Base = System.Drawing.Color.FromArgb(((int)(((byte)(171)))), ((int)(((byte)(230)))), ((int)(((byte)(247)))));
            this.skinHScrollBar1.Border = System.Drawing.Color.FromArgb(((int)(((byte)(89)))), ((int)(((byte)(210)))), ((int)(((byte)(249)))));
            this.skinHScrollBar1.Fore = System.Drawing.Color.FromArgb(((int)(((byte)(48)))), ((int)(((byte)(135)))), ((int)(((byte)(192)))));
            this.skinHScrollBar1.InnerBorder = System.Drawing.Color.FromArgb(((int)(((byte)(200)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))));
            this.skinHScrollBar1.Location = new System.Drawing.Point(17, 81);
            this.skinHScrollBar1.Maximum = 109;
            this.skinHScrollBar1.Minimum = 6;
            this.skinHScrollBar1.Name = "skinHScrollBar1";
            this.skinHScrollBar1.Size = new System.Drawing.Size(151, 17);
            this.skinHScrollBar1.TabIndex = 4;
            this.skinHScrollBar1.Value = 6;
            this.skinHScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(this.skinHScrollBar1_Scroll);
            // 
            // skinButton1
            // 
            this.skinButton1.BackColor = System.Drawing.Color.Transparent;
            this.skinButton1.ControlState = CCWin.SkinClass.ControlState.Normal;
            this.skinButton1.DownBack = null;
            this.skinButton1.Location = new System.Drawing.Point(55, 115);
            this.skinButton1.MouseBack = null;
            this.skinButton1.Name = "skinButton1";
            this.skinButton1.NormlBack = null;
            this.skinButton1.Size = new System.Drawing.Size(75, 23);
            this.skinButton1.TabIndex = 3;
            this.skinButton1.Text = "确定";
            this.skinButton1.UseVisualStyleBackColor = false;
            this.skinButton1.Click += new System.EventHandler(this.skinButton1_Click);
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(29, 44);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(41, 12);
            this.label1.TabIndex = 1;
            this.label1.Text = "数量:";
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(100, 41);
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(57, 21);
            this.textBox1.TabIndex = 2;
            this.textBox1.Text = "6";
            this.textBox1.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // DifussionForm
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(371, 196);
            this.Controls.Add(this.pictureBox1);
            this.Controls.Add(this.groupBox1);
            this.MaximizeBox = false;
            this.MaximumSize = new System.Drawing.Size(371, 196);
            this.MinimizeBox = false;
            this.MinimumSize = new System.Drawing.Size(371, 196);
            this.Name = "DifussionForm";
            this.Text = "扩散";
            this.TitleCenter = false;
            ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
            this.groupBox1.ResumeLayout(false);
            this.groupBox1.PerformLayout();
            this.ResumeLayout(false);

        }

        #endregion

        private System.Windows.Forms.PictureBox pictureBox1;
        private System.Windows.Forms.GroupBox groupBox1;
        private CCWin.SkinControl.SkinHScrollBar skinHScrollBar1;
        private CCWin.SkinControl.SkinButton skinButton1;
        private System.Windows.Forms.Label label1;
        private System.Windows.Forms.TextBox textBox1;
    }
}

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DifussionForm.cs
================================================
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace TestDemo
{
    public partial class DifussionForm : CCWin.Skin_Mac
    {
        public DifussionForm(string path)
        {
            InitializeComponent();
            this.DoubleBuffered = true;
            zPhoto = new ZPhotoEngineDll();
            Bitmap tmp = new Bitmap(path);
            if (tmp != null)
            {
                curBitmap = new Bitmap(tmp, 150 * tmp.Width / Math.Max(tmp.Width, tmp.Height), 150 * tmp.Height / Math.Max(tmp.Width, tmp.Height));
                pictureBox1.Image = (Image)zPhoto.DiffusionProcess(curBitmap, intensity);
            }
        }
        private Bitmap curBitmap = null;
        private int intensity = 6;
        private ZPhotoEngineDll zPhoto = null;
        public int getIntensity
        {
            get { return intensity; }
        }

        private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
        {
            if (curBitmap != null)
            {
                intensity = skinHScrollBar1.Value;
                textBox1.Text = intensity.ToString();
                pictureBox1.Image = (Image)zPhoto.DiffusionProcess(curBitmap, intensity);
            }
        }

        private void skinButton1_Click(object sender, EventArgs e)
        {
            intensity = skinHScrollBar1.Value;
            this.DialogResult = DialogResult.OK;
            this.Close();
        }
    }
}


================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DifussionForm.resx
================================================
<?xml version="1.0" encoding="utf-8"?>
<root>
  <!-- 
    Microsoft ResX Schema 
    
    Version 2.0
    
    The primary goals of this format is to allow a simple XML format 
    that is mostly human readable. The generation and parsing of the 
    various data types are done through the TypeConverter classes 
    associated with the data types.
    
    Example:
    
    ... ado.net/XML headers & schema ...
    <resheader name="resmimetype">text/microsoft-resx</resheader>
    <resheader name="version">2.0</resheader>
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
        <value>[base64 mime encoded serialized .NET Framework object]</value>
    </data>
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
        <comment>This is a comment</comment>
    </data>
                
    There are any number of "resheader" rows that contain simple 
    name/value pairs.
    
    Each data row contains a name, and value. The row also contains a 
    type or mimetype. Type corresponds to a .NET class that support 
    text/value conversion through the TypeConverter architecture. 
    Classes that don't support this are serialized and stored with the 
    mimetype set.
    
    The mimetype is used for serialized objects, and tells the 
    ResXResourceReader how to depersist the object. This is currently not 
    extensible. For a given mimetype the value must be set accordingly:
    
    Note - application/x-microsoft.net.object.binary.base64 is the format 
    that the ResXResourceWriter will generate, however the reader can 
    read any of the formats listed below.
    
    mimetype: application/x-microsoft.net.object.binary.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
            : and then encoded with base64 encoding.
    
    mimetype: application/x-microsoft.net.object.soap.base64
    value   : The object must be serialized with 
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
            : and then encoded with base64 encoding.

    mimetype: application/x-microsoft.net.object.bytearray.base64
    value   : The object must be serialized into a byte array 
            : using a System.ComponentModel.TypeConverter
            : and then encoded with base64 encoding.
    -->
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    <xsd:element name="root" msdata:IsDataSet="true">
      <xsd:complexType>
        <xsd:choice maxOccurs="unbounded">
          <xsd:element name="metadata">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
              </xsd:sequence>
              <xsd:attribute name="name" use="required" type="xsd:string" />
              <xsd:attribute name="type" type="xsd:string" />
              <xsd:attribute name="mimetype" type="xsd:string" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="assembly">
            <xsd:complexType>
              <xsd:attribute name="alias" type="xsd:string" />
              <xsd:attribute name="name" type="xsd:string" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="data">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
              <xsd:attribute ref="xml:space" />
            </xsd:complexType>
          </xsd:element>
          <xsd:element name="resheader">
            <xsd:complexType>
              <xsd:sequence>
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
              </xsd:sequence>
              <xsd:attribute name="name" type="xsd:string" use="required" />
            </xsd:complexType>
          </xsd:element>
        </xsd:choice>
      </xsd:complexType>
    </xsd:element>
  </xsd:schema>
  <resheader name="resmimetype">
    <value>text/microsoft-resx</value>
  </resheader>
  <resheader name="version">
    <value>2.0</value>
  </resheader>
  <resheader name="reader">
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
  <resheader name="writer">
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
  </resheader>
</root>

================================================
FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DisplacementFrom.Designer.cs
================================================
namespace TestDemo
{
    partial class DisplacementFrom
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.skinButton1 = new CCWin.SkinControl.SkinButton();
            this.label1 = new System.Windows.Forms.Label();
            this.textBox1 = new System.Windows.Forms.TextBox();
            this.label2 = new System.Windows.Forms.Label();
            this.label3 = new System.Windows.Forms.Label();
            this.textBox2 = new System.Windows.Forms.TextBox();
            this.textBox3 = new System.Windows.Forms.TextBox();
            this.label4 = new System.Windows.Forms.Label();
            this.label5 = new System.Windows.Forms.Label();
            this.SuspendLayout();
            // 
            // skinButton1
            // 
            this.skinButton1.BackColor = System.Drawing.Color.Transparent;
            this.skinButton1.ControlState = CCWin.SkinClass.ControlState.Normal;
            this.skinButton1.DownBack = null;
            this.skinButton1.Location = new System.Drawing.Point(111, 258);
            this.skinButton1.MouseBack = null;
            this.skinButton1.Name = "skinButton1";
            this.skinButton1.NormlBack = null;
            this.skinButton1.Size = new System.Drawing.Size(75, 23);
            this.skinButton1.TabIndex = 4;
            this.skinButton1.Text = "确定";
            this.skinButton1.UseVisualStyleBackColor = false;
            this.skinButton1.Click += new System.EventHandler(this.skinButton1_Click);
            // 
            // label1
            // 
            this.label1.AutoSize = true;
            this.label1.Location = new System.Drawing.Point(18, 53);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(77, 12);
            this.label1.TabIndex = 5;
            this.label1.Text = "置换图路径:";
            // 
            // textBox1
            // 
            this.textBox1.Location = new System.Drawing.Point(101, 50);
            this.textBox1.Multiline = true;
            this.textBox1.Name = "textBox1";
            this.textBox1.Size = new System.Drawing.Size(175, 63);
            this.textBox1.TabIndex = 6;
            this.textBox1.Text = "C:\\\\test.jpg";
            // 
            // label2
            // 
            this.label2.AutoSize = true;
            this.label2.Location = new System.Drawing.Point(18, 132);
            this.label2.Name = "label2";
            this.label2.Size = new System.Drawing.Size(65, 12);
            this.label2.TabIndex = 7;
            this.label2.Text = "水平比例:";
            // 
            // label3
            // 
            this.label3.AutoSize = true;
            this.label3.Location = new System.Drawing.Point(18, 166);
            this.label3.Name = "label3";
            this.label3.Size = new System.Drawing.Size(65, 12);
            this.label3.TabIndex = 8;
            this.label3.Text = "垂直比例:";
            // 
            // textBox2
            // 
            this.textBox2.Location = new System.Drawing.Point(101, 129);
            this.textBox2.Name = "textBox2";
            this.textBox2.Size = new System.Drawing.Size(77, 21);
            this.textBox2.TabIndex = 9;
            this.textBox2.Text = "10";
            this.textBox2.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // textBox3
            // 
            this.textBox3.Location = new System.Drawing.Point(101, 163);
            this.textBox3.Name = "textBox3";
            this.textBox3.Size = new System.Drawing.Size(77, 21);
            this.textBox3.TabIndex = 10;
            this.textBox3.Text = "10";
            this.textBox3.TextAlign = System.Windows.Forms.HorizontalAlignment.Center;
            // 
            // label4
            // 
            this.label4.AutoSize = true;
            this.label4.Location = new System.Drawing.Point(18, 201);
            this.label4.Name = "label4";
            this.label4.Size = new System.Drawing.Size(113, 12);
            this.label4.TabIndex = 11;
            this.label4.Text = "置换图:伸展以适合";
            // 
            // label5
            // 
            this.label5.AutoSize = true;
            this.label5.Location = new System.Drawing.Point(18, 232);
            this.label5.Name = "label5";
            this.label5.Size = new System.Drawing.Size(149, 12);
            this.label5.TabIndex = 12;
            this.label5.Text = "未定义区域:重复边缘像素";
            // 
            // DisplacementFrom
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(299, 292);
            this.Controls.Add(this.label5);
            this.Controls.Add(this.labe
Download .txt
gitextract__5gedzwg/

├── .gitattributes
├── .gitignore
├── README.md
├── ZPHOTOENGINE/
│   ├── Linux/
│   │   └── ZPhotoEngine.h
│   ├── PC/
│   │   ├── DEMO/
│   │   │   └── Release/
│   │   │       └── ZPhotoEngine.lib
│   │   ├── PC-ProjectCodes/
│   │   │   ├── TestDemo/
│   │   │   │   ├── AnisotropicFilterForm.Designer.cs
│   │   │   │   ├── AnisotropicFilterForm.cs
│   │   │   │   ├── AnisotropicFilterForm.resx
│   │   │   │   ├── BlackWhiteForm.Designer.cs
│   │   │   │   ├── BlackWhiteForm.cs
│   │   │   │   ├── BlackWhiteForm.resx
│   │   │   │   ├── BrightContrastForm.Designer.cs
│   │   │   │   ├── BrightContrastForm.cs
│   │   │   │   ├── BrightContrastForm.resx
│   │   │   │   ├── ChannelMixForm.Designer.cs
│   │   │   │   ├── ChannelMixForm.cs
│   │   │   │   ├── ChannelMixForm.resx
│   │   │   │   ├── ColorbalanceForm.Designer.cs
│   │   │   │   ├── ColorbalanceForm.cs
│   │   │   │   ├── ColorbalanceForm.resx
│   │   │   │   ├── DifussionForm.Designer.cs
│   │   │   │   ├── DifussionForm.cs
│   │   │   │   ├── DifussionForm.resx
│   │   │   │   ├── DisplacementFrom.Designer.cs
│   │   │   │   ├── DisplacementFrom.cs
│   │   │   │   ├── DisplacementFrom.resx
│   │   │   │   ├── ExposureForm.Designer.cs
│   │   │   │   ├── ExposureForm.cs
│   │   │   │   ├── ExposureForm.resx
│   │   │   │   ├── FilterForm.Designer.cs
│   │   │   │   ├── FilterForm.cs
│   │   │   │   ├── FilterForm.resx
│   │   │   │   ├── Form1.Designer.cs
│   │   │   │   ├── Form1.cs
│   │   │   │   ├── Form1.resx
│   │   │   │   ├── GammaForm.Designer.cs
│   │   │   │   ├── GammaForm.cs
│   │   │   │   ├── GammaForm.resx
│   │   │   │   ├── GaussBlurForm.Designer.cs
│   │   │   │   ├── GaussBlurForm.cs
│   │   │   │   ├── GaussBlurForm.resx
│   │   │   │   ├── HSLForm.Designer.cs
│   │   │   │   ├── HSLForm.cs
│   │   │   │   ├── HSLForm.resx
│   │   │   │   ├── HighlightShadowForm.Designer.cs
│   │   │   │   ├── HighlightShadowForm.cs
│   │   │   │   ├── HighlightShadowForm.resx
│   │   │   │   ├── HighpassForm.Designer.cs
│   │   │   │   ├── HighpassForm.cs
│   │   │   │   ├── HighpassForm.resx
│   │   │   │   ├── HistagramForm.Designer.cs
│   │   │   │   ├── HistagramForm.cs
│   │   │   │   ├── HistagramForm.resx
│   │   │   │   ├── ImageProcessId.cs
│   │   │   │   ├── LevelForm.Designer.cs
│   │   │   │   ├── LevelForm.cs
│   │   │   │   ├── LevelForm.resx
│   │   │   │   ├── MaxForm.Designer.cs
│   │   │   │   ├── MaxForm.cs
│   │   │   │   ├── MaxForm.resx
│   │   │   │   ├── MeanBlurForm.Designer.cs
│   │   │   │   ├── MeanBlurForm.cs
│   │   │   │   ├── MeanBlurForm.resx
│   │   │   │   ├── MedianForm.Designer.cs
│   │   │   │   ├── MedianForm.cs
│   │   │   │   ├── MedianForm.resx
│   │   │   │   ├── MessageForm.Designer.cs
│   │   │   │   ├── MessageForm.cs
│   │   │   │   ├── MessageForm.resx
│   │   │   │   ├── MinForm.Designer.cs
│   │   │   │   ├── MinForm.cs
│   │   │   │   ├── MinForm.resx
│   │   │   │   ├── MosciaForm.Designer.cs
│   │   │   │   ├── MosciaForm.cs
│   │   │   │   ├── MosciaForm.resx
│   │   │   │   ├── MotionBlurForm.Designer.cs
│   │   │   │   ├── MotionBlurForm.cs
│   │   │   │   ├── MotionBlurForm.resx
│   │   │   │   ├── NSaturationForm.Designer.cs
│   │   │   │   ├── NSaturationForm.cs
│   │   │   │   ├── NSaturationForm.resx
│   │   │   │   ├── PosterizeForm.Designer.cs
│   │   │   │   ├── PosterizeForm.cs
│   │   │   │   ├── PosterizeForm.resx
│   │   │   │   ├── Program.cs
│   │   │   │   ├── Properties/
│   │   │   │   │   ├── AssemblyInfo.cs
│   │   │   │   │   ├── Resources.Designer.cs
│   │   │   │   │   ├── Resources.resx
│   │   │   │   │   ├── Settings.Designer.cs
│   │   │   │   │   └── Settings.settings
│   │   │   │   ├── RadialBlurForm.Designer.cs
│   │   │   │   ├── RadialBlurForm.cs
│   │   │   │   ├── RadialBlurForm.resx
│   │   │   │   ├── ReliefForm.Designer.cs
│   │   │   │   ├── ReliefForm.cs
│   │   │   │   ├── ReliefForm.resx
│   │   │   │   ├── RotateForm.Designer.cs
│   │   │   │   ├── RotateForm.cs
│   │   │   │   ├── RotateForm.resx
│   │   │   │   ├── SmartBlurForm.Designer.cs
│   │   │   │   ├── SmartBlurForm.cs
│   │   │   │   ├── SmartBlurForm.resx
│   │   │   │   ├── SurfaceBlurForm.Designer.cs
│   │   │   │   ├── SurfaceBlurForm.cs
│   │   │   │   ├── SurfaceBlurForm.resx
│   │   │   │   ├── TempreatureForm.Designer.cs
│   │   │   │   ├── TempreatureForm.cs
│   │   │   │   ├── TempreatureForm.resx
│   │   │   │   ├── TestDemo.csproj
│   │   │   │   ├── TestDemo.csproj.user
│   │   │   │   ├── ThresholdForm.Designer.cs
│   │   │   │   ├── ThresholdForm.cs
│   │   │   │   ├── ThresholdForm.resx
│   │   │   │   ├── USMForm.Designer.cs
│   │   │   │   ├── USMForm.cs
│   │   │   │   ├── USMForm.resx
│   │   │   │   ├── ZPhotoEngineDll.cs
│   │   │   │   ├── ZoomBlurForm.Designer.cs
│   │   │   │   ├── ZoomBlurForm.cs
│   │   │   │   ├── ZoomBlurForm.resx
│   │   │   │   ├── ZoomForm.Designer.cs
│   │   │   │   ├── ZoomForm.cs
│   │   │   │   ├── ZoomForm.resx
│   │   │   │   ├── app.config
│   │   │   │   ├── bin/
│   │   │   │   │   └── Release/
│   │   │   │   │       ├── TestDemo.exe.config
│   │   │   │   │       ├── TestDemo.pdb
│   │   │   │   │       ├── TestDemo.vshost.exe.config
│   │   │   │   │       ├── TestDemo.vshost.exe.manifest
│   │   │   │   │       ├── ZPhotoEngine.exp
│   │   │   │   │       └── ZPhotoEngine.lib
│   │   │   │   └── obj/
│   │   │   │       └── x86/
│   │   │   │           ├── Debug/
│   │   │   │           │   ├── TestDemo.AnisotropicFilterForm.resources
│   │   │   │           │   ├── TestDemo.BlackWhiteForm.resources
│   │   │   │           │   ├── TestDemo.BrightContrastForm.resources
│   │   │   │           │   ├── TestDemo.ChannelMixForm.resources
│   │   │   │           │   ├── TestDemo.ColorbalanceForm.resources
│   │   │   │           │   ├── TestDemo.DifussionForm.resources
│   │   │   │           │   ├── TestDemo.ExposureForm.resources
│   │   │   │           │   ├── TestDemo.FilterForm.resources
│   │   │   │           │   ├── TestDemo.Form1.resources
│   │   │   │           │   ├── TestDemo.GammaForm.resources
│   │   │   │           │   ├── TestDemo.GaussBlurForm.resources
│   │   │   │           │   ├── TestDemo.HSLForm.resources
│   │   │   │           │   ├── TestDemo.HighlightShadowForm.resources
│   │   │   │           │   ├── TestDemo.HighpassForm.resources
│   │   │   │           │   ├── TestDemo.HistagramForm.resources
│   │   │   │           │   ├── TestDemo.LevelForm.resources
│   │   │   │           │   ├── TestDemo.MaxForm.resources
│   │   │   │           │   ├── TestDemo.MeanBlurForm.resources
│   │   │   │           │   ├── TestDemo.MedianForm.resources
│   │   │   │           │   ├── TestDemo.MessageForm.resources
│   │   │   │           │   ├── TestDemo.MinForm.resources
│   │   │   │           │   ├── TestDemo.MosciaForm.resources
│   │   │   │           │   ├── TestDemo.MotionBlurForm.resources
│   │   │   │           │   ├── TestDemo.NSaturationForm.resources
│   │   │   │           │   ├── TestDemo.PosterizeForm.resources
│   │   │   │           │   ├── TestDemo.Properties.Resources.resources
│   │   │   │           │   ├── TestDemo.RadialBlurForm.resources
│   │   │   │           │   ├── TestDemo.ReliefForm.resources
│   │   │   │           │   ├── TestDemo.RotateForm.resources
│   │   │   │           │   ├── TestDemo.SmartBlurForm.resources
│   │   │   │           │   ├── TestDemo.SurfaceBlurForm.resources
│   │   │   │           │   ├── TestDemo.TempreatureForm.resources
│   │   │   │           │   ├── TestDemo.ThresholdForm.resources
│   │   │   │           │   ├── TestDemo.USMForm.resources
│   │   │   │           │   ├── TestDemo.ZoomBlurForm.resources
│   │   │   │           │   ├── TestDemo.ZoomForm.resources
│   │   │   │           │   ├── TestDemo.csproj.FileListAbsolute.txt
│   │   │   │           │   ├── TestDemo.csproj.GenerateResource.Cache
│   │   │   │           │   └── TestDemo.csprojResolveAssemblyReference.cache
│   │   │   │           └── Release/
│   │   │   │               ├── DesignTimeResolveAssemblyReferencesInput.cache
│   │   │   │               ├── TestDemo.AnisotropicFilterForm.resources
│   │   │   │               ├── TestDemo.BlackWhiteForm.resources
│   │   │   │               ├── TestDemo.BrightContrastForm.resources
│   │   │   │               ├── TestDemo.ChannelMixForm.resources
│   │   │   │               ├── TestDemo.ColorbalanceForm.resources
│   │   │   │               ├── TestDemo.DifussionForm.resources
│   │   │   │               ├── TestDemo.DisplacementFrom.resources
│   │   │   │               ├── TestDemo.ExposureForm.resources
│   │   │   │               ├── TestDemo.FilterForm.resources
│   │   │   │               ├── TestDemo.Form1.resources
│   │   │   │               ├── TestDemo.GammaForm.resources
│   │   │   │               ├── TestDemo.GaussBlurForm.resources
│   │   │   │               ├── TestDemo.HSLForm.resources
│   │   │   │               ├── TestDemo.HighlightShadowForm.resources
│   │   │   │               ├── TestDemo.HighpassForm.resources
│   │   │   │               ├── TestDemo.HistagramForm.resources
│   │   │   │               ├── TestDemo.LevelForm.resources
│   │   │   │               ├── TestDemo.MaxForm.resources
│   │   │   │               ├── TestDemo.MeanBlurForm.resources
│   │   │   │               ├── TestDemo.MedianForm.resources
│   │   │   │               ├── TestDemo.MessageForm.resources
│   │   │   │               ├── TestDemo.MinForm.resources
│   │   │   │               ├── TestDemo.MosciaForm.resources
│   │   │   │               ├── TestDemo.MotionBlurForm.resources
│   │   │   │               ├── TestDemo.NSaturationForm.resources
│   │   │   │               ├── TestDemo.PosterizeForm.resources
│   │   │   │               ├── TestDemo.Properties.Resources.resources
│   │   │   │               ├── TestDemo.RadialBlurForm.resources
│   │   │   │               ├── TestDemo.ReliefForm.resources
│   │   │   │               ├── TestDemo.RotateForm.resources
│   │   │   │               ├── TestDemo.SmartBlurForm.resources
│   │   │   │               ├── TestDemo.SurfaceBlurForm.resources
│   │   │   │               ├── TestDemo.TempreatureForm.resources
│   │   │   │               ├── TestDemo.ThresholdForm.resources
│   │   │   │               ├── TestDemo.USMForm.resources
│   │   │   │               ├── TestDemo.ZoomBlurForm.resources
│   │   │   │               ├── TestDemo.ZoomForm.resources
│   │   │   │               ├── TestDemo.csproj.FileListAbsolute.txt
│   │   │   │               ├── TestDemo.csproj.GenerateResource.Cache
│   │   │   │               ├── TestDemo.csprojResolveAssemblyReference.cache
│   │   │   │               └── TestDemo.pdb
│   │   │   ├── TestDemo.sln
│   │   │   └── TestDemo.suo
│   │   ├── ZPhotoEngine.h
│   │   └── library/
│   │       ├── MixedPlatform/
│   │       │   └── ZPhotoEngine.lib
│   │       ├── ReadMe.txt
│   │       ├── ZPhotoEngine.h
│   │       └── x86/
│   │           └── ZPhotoEngine.lib
│   ├── ZPhotoEngine_IO/
│   │   ├── PC_LIB/
│   │   │   ├── ZPhotoEngineIO.lib
│   │   │   └── inc/
│   │   │       ├── SFBITMAP.h
│   │   │       ├── SFImageReadWrite.h
│   │   │       └── f_error.h
│   │   └── ZPhotoIODEMO/
│   │       ├── Debug/
│   │       │   └── ImageReadDemo.lib
│   │       ├── ZPhotoIODEMO/
│   │       │   ├── SFBITMAP.h
│   │       │   ├── SFImageReadWrite.h
│   │       │   ├── ZPhotoIODEMO.vcxproj
│   │       │   ├── ZPhotoIODEMO.vcxproj.filters
│   │       │   ├── ZPhotoIODEMO.vcxproj.user
│   │       │   ├── f_error.h
│   │       │   ├── main.cpp
│   │       │   ├── stdafx.cpp
│   │       │   ├── stdafx.h
│   │       │   └── targetver.h
│   │       ├── ZPhotoIODEMO.sln
│   │       └── ZPhotoIODEMO.suo
│   └── android/
│       ├── ReadMe.txt
│       └── ZPHOTO/
│           └── PhotoEngine.java
├── ZPhotoEngine.h
└── ZPhotoEngineSDK开发文档.doc
Download .txt
SYMBOL INDEX (527 symbols across 85 files)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/AnisotropicFilterForm.Designer.cs
  class AnisotropicFilterForm (line 3) | partial class AnisotropicFilterForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/AnisotropicFilterForm.cs
  class AnisotropicFilterForm (line 12) | public partial class AnisotropicFilterForm : CCWin.Skin_Mac
    method AnisotropicFilterForm (line 14) | public AnisotropicFilterForm(string path)
    method skinHScrollBar1_Scroll (line 39) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinHScrollBar2_Scroll (line 52) | private void skinHScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 64) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BlackWhiteForm.Designer.cs
  class BlackWhiteForm (line 3) | partial class BlackWhiteForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BlackWhiteForm.cs
  class BlackWhiteForm (line 12) | public partial class BlackWhiteForm : CCWin.Skin_Mac
    method BlackWhiteForm (line 18) | public BlackWhiteForm(string path)
    method skinButton1_Click (line 35) | private void skinButton1_Click(object sender, EventArgs e)
    method comboBox1_SelectedIndexChanged_1 (line 44) | private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e)
    method BlackWhite (line 75) | private void BlackWhite(int mode)
    method hScrollBar1_Scroll_1 (line 210) | private void hScrollBar1_Scroll_1(object sender, ScrollEventArgs e)
    method hScrollBar2_Scroll_1 (line 225) | private void hScrollBar2_Scroll_1(object sender, ScrollEventArgs e)
    method hScrollBar3_Scroll_1 (line 241) | private void hScrollBar3_Scroll_1(object sender, ScrollEventArgs e)
    method hScrollBar4_Scroll_1 (line 256) | private void hScrollBar4_Scroll_1(object sender, ScrollEventArgs e)
    method hScrollBar5_Scroll_1 (line 271) | private void hScrollBar5_Scroll_1(object sender, ScrollEventArgs e)
    method hScrollBar6_Scroll_1 (line 286) | private void hScrollBar6_Scroll_1(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BrightContrastForm.Designer.cs
  class BrightContrastForm (line 3) | partial class BrightContrastForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BrightContrastForm.cs
  class BrightContrastForm (line 12) | public partial class BrightContrastForm : CCWin.Skin_Mac
    method BrightContrastForm (line 14) | public BrightContrastForm(string path)
    method skinButton1_Click (line 43) | private void skinButton1_Click(object sender, EventArgs e)
    method hScrollBar1_Scroll (line 54) | private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method hScrollBar2_Scroll (line 72) | private void hScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method checkBox1_CheckedChanged (line 91) | private void checkBox1_CheckedChanged(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ChannelMixForm.Designer.cs
  class ChannelMixForm (line 3) | partial class ChannelMixForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ChannelMixForm.cs
  class ChannelMixForm (line 12) | public partial class ChannelMixForm : CCWin.Skin_Mac
    method ChannelMixForm (line 14) | public ChannelMixForm(string path)
    method hScrollBar1_Scroll (line 34) | private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method hScrollBar2_Scroll (line 47) | private void hScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method hScrollBar3_Scroll (line 60) | private void hScrollBar3_Scroll(object sender, ScrollEventArgs e)
    method hScrollBar4_Scroll (line 73) | private void hScrollBar4_Scroll(object sender, ScrollEventArgs e)
    method checkBox1_CheckedChanged (line 87) | private void checkBox1_CheckedChanged(object sender, EventArgs e)
    method comboBox1_SelectedIndexChanged (line 129) | private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    method button1_Click (line 143) | private void button1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ColorbalanceForm.Designer.cs
  class ColorbalanceForm (line 3) | partial class ColorbalanceForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ColorbalanceForm.cs
  class ColorbalanceForm (line 12) | public partial class ColorbalanceForm : CCWin.Skin_Mac
    method ColorbalanceForm (line 14) | public ColorbalanceForm(string path)
    method skinButton1_Click (line 46) | private void skinButton1_Click(object sender, EventArgs e)
    method hScrollBar1_Scroll (line 55) | private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method hScrollBar2_Scroll (line 69) | private void hScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method hScrollBar3_Scroll (line 83) | private void hScrollBar3_Scroll(object sender, ScrollEventArgs e)
    method checkBox1_CheckedChanged (line 97) | private void checkBox1_CheckedChanged(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DifussionForm.Designer.cs
  class DifussionForm (line 3) | partial class DifussionForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DifussionForm.cs
  class DifussionForm (line 12) | public partial class DifussionForm : CCWin.Skin_Mac
    method DifussionForm (line 14) | public DifussionForm(string path)
    method skinHScrollBar1_Scroll (line 34) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 44) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DisplacementFrom.Designer.cs
  class DisplacementFrom (line 3) | partial class DisplacementFrom
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DisplacementFrom.cs
  class DisplacementFrom (line 12) | public partial class DisplacementFrom : CCWin.Skin_Mac
    method DisplacementFrom (line 14) | public DisplacementFrom()
    method skinButton1_Click (line 33) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ExposureForm.Designer.cs
  class ExposureForm (line 3) | partial class ExposureForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ExposureForm.cs
  class ExposureForm (line 12) | public partial class ExposureForm : CCWin.Skin_Mac
    method ExposureForm (line 14) | public ExposureForm(string path)
    method skinHScrollBar1_Scroll (line 33) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 43) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/FilterForm.Designer.cs
  class FilterForm (line 3) | partial class FilterForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/FilterForm.cs
  class FilterForm (line 13) | public partial class FilterForm : Skin_Mac
    method FilterForm (line 32) | public FilterForm( )
    method OpenFile (line 39) | public void OpenFile()
    method skinButton1_Click (line 62) | private void skinButton1_Click(object sender, EventArgs e)
    method FilterForm_Load (line 73) | private void FilterForm_Load(object sender, EventArgs e)
    method skinButton3_Click (line 78) | private void skinButton3_Click(object sender, EventArgs e)
    method skinButton2_Click (line 83) | private void skinButton2_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Form1.Designer.cs
  class Form1 (line 3) | partial class Form1
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Form1.cs
  class Form1 (line 14) | unsafe public partial class Form1 : CCWin.Skin_Mac
    method Form1 (line 16) | public Form1()
    method OpenFile (line 45) | public void OpenFile()
    method SaveFile (line 77) | public void SaveFile()
    method 打开ToolStripMenuItem_Click (line 87) | private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
    method 保存ToolStripMenuItem_Click (line 102) | private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
    method toolStripStatusLabel1_Click (line 109) | private void toolStripStatusLabel1_Click(object sender, EventArgs e)
    method pictureBox1_MouseDown (line 113) | private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
    method pictureBox1_MouseUp (line 119) | private void pictureBox1_MouseUp(object sender, MouseEventArgs e)
    method BeginImageProcess (line 131) | private void BeginImageProcess(int id)
    method ImageProcessDone (line 151) | private void ImageProcessDone(IAsyncResult result)
    method ImageProcessing (line 165) | private void ImageProcessing(int id)
    method 图像旋转ToolStripMenuItem_Click (line 496) | private void 图像旋转ToolStripMenuItem_Click(object sender, EventArgs e)
    method 恢复原图ToolStripMenuItem_Click (line 501) | private void 恢复原图ToolStripMenuItem_Click(object sender, EventArgs e)
    method 图像缩放ToolStripMenuItem_Click (line 510) | private void 图像缩放ToolStripMenuItem_Click(object sender, EventArgs e)
    method 水平翻转ToolStripMenuItem_Click (line 516) | private void 水平翻转ToolStripMenuItem_Click(object sender, EventArgs e)
    method 垂直翻转ToolStripMenuItem_Click (line 521) | private void 垂直翻转ToolStripMenuItem_Click(object sender, EventArgs e)
    method 自动色调ToolStripMenuItem_Click (line 526) | private void 自动色调ToolStripMenuItem_Click(object sender, EventArgs e)
    method 自动对比度ToolStripMenuItem_Click (line 531) | private void 自动对比度ToolStripMenuItem_Click(object sender, EventArgs e)
    method 色调均化ToolStripMenuItem_Click (line 536) | private void 色调均化ToolStripMenuItem_Click(object sender, EventArgs e)
    method 亮度对比度ToolStripMenuItem_Click (line 541) | private void 亮度对比度ToolStripMenuItem_Click(object sender, EventArgs e)
    method 色阶ToolStripMenuItem_Click (line 546) | private void 色阶ToolStripMenuItem_Click(object sender, EventArgs e)
    method 色相饱和度ToolStripMenuItem_Click (line 551) | private void 色相饱和度ToolStripMenuItem_Click(object sender, EventArgs e)
    method 色彩平衡ToolStripMenuItem_Click (line 556) | private void 色彩平衡ToolStripMenuItem_Click(object sender, EventArgs e)
    method 反相ToolStripMenuItem_Click (line 561) | private void 反相ToolStripMenuItem_Click(object sender, EventArgs e)
    method 色调分离ToolStripMenuItem_Click (line 566) | private void 色调分离ToolStripMenuItem_Click(object sender, EventArgs e)
    method 阈值ToolStripMenuItem_Click (line 571) | private void 阈值ToolStripMenuItem_Click(object sender, EventArgs e)
    method 去色ToolStripMenuItem_Click (line 575) | private void 去色ToolStripMenuItem_Click(object sender, EventArgs e)
    method 高光阴影调节ToolStripMenuItem_Click (line 580) | private void 高光阴影调节ToolStripMenuItem_Click(object sender, EventArgs e)
    method 曝光调节ToolStripMenuItem_Click (line 585) | private void 曝光调节ToolStripMenuItem_Click(object sender, EventArgs e)
    method 色温调节ToolStripMenuItem_Click (line 590) | private void 色温调节ToolStripMenuItem_Click(object sender, EventArgs e)
    method 查找边缘ToolStripMenuItem_Click (line 595) | private void 查找边缘ToolStripMenuItem_Click(object sender, EventArgs e)
    method 浮雕效果ToolStripMenuItem_Click (line 600) | private void 浮雕效果ToolStripMenuItem_Click(object sender, EventArgs e)
    method 扩散ToolStripMenuItem_Click (line 605) | private void 扩散ToolStripMenuItem_Click(object sender, EventArgs e)
    method 曝光过度ToolStripMenuItem_Click (line 610) | private void 曝光过度ToolStripMenuItem_Click(object sender, EventArgs e)
    method 表面模糊ToolStripMenuItem_Click (line 615) | private void 表面模糊ToolStripMenuItem_Click(object sender, EventArgs e)
    method 动感模糊ToolStripMenuItem_Click (line 620) | private void 动感模糊ToolStripMenuItem_Click(object sender, EventArgs e)
    method 均值模糊ToolStripMenuItem_Click (line 625) | private void 均值模糊ToolStripMenuItem_Click(object sender, EventArgs e)
    method 高斯模糊ToolStripMenuItem_Click (line 630) | private void 高斯模糊ToolStripMenuItem_Click(object sender, EventArgs e)
    method 旋转模糊ToolStripMenuItem_Click (line 635) | private void 旋转模糊ToolStripMenuItem_Click(object sender, EventArgs e)
    method 缩放模糊ToolStripMenuItem_Click (line 640) | private void 缩放模糊ToolStripMenuItem_Click(object sender, EventArgs e)
    method 平均ToolStripMenuItem_Click (line 645) | private void 平均ToolStripMenuItem_Click(object sender, EventArgs e)
    method 马赛克ToolStripMenuItem_Click (line 650) | private void 马赛克ToolStripMenuItem_Click(object sender, EventArgs e)
    method 碎片ToolStripMenuItem_Click (line 655) | private void 碎片ToolStripMenuItem_Click(object sender, EventArgs e)
    method 高反差保留ToolStripMenuItem_Click (line 660) | private void 高反差保留ToolStripMenuItem_Click(object sender, EventArgs e)
    method uSM锐化ToolStripMenuItem_Click (line 665) | private void uSM锐化ToolStripMenuItem_Click(object sender, EventArgs e)
    method 通道混合器ToolStripMenuItem_Click_1 (line 669) | private void 通道混合器ToolStripMenuItem_Click_1(object sender, EventArgs e)
    method 黑白ToolStripMenuItem1_Click (line 675) | private void 黑白ToolStripMenuItem1_Click(object sender, EventArgs e)
    method 直方图ToolStripMenuItem_Click (line 679) | private void 直方图ToolStripMenuItem_Click(object sender, EventArgs e)
    method gamma调节ToolStripMenuItem_Click (line 687) | private void gamma调节ToolStripMenuItem_Click(object sender, EventArgs e)
    method 中间色ToolStripMenuItem_Click (line 691) | private void 中间色ToolStripMenuItem_Click(object sender, EventArgs e)
    method 最大值ToolStripMenuItem_Click (line 696) | private void 最大值ToolStripMenuItem_Click(object sender, EventArgs e)
    method 最小值ToolStripMenuItem_Click (line 701) | private void 最小值ToolStripMenuItem_Click(object sender, EventArgs e)
    method waveToolStripMenuItem_Click (line 706) | private void waveToolStripMenuItem_Click(object sender, EventArgs e)
    method 自然饱和度ToolStripMenuItem_Click (line 711) | private void 自然饱和度ToolStripMenuItem_Click(object sender, EventArgs e)
    method smartBlurToolStripMenuItem_Click (line 715) | private void smartBlurToolStripMenuItem_Click(object sender, EventArgs e)
    method anisotropicFilterToolStripMenuItem_Click (line 721) | private void anisotropicFilterToolStripMenuItem_Click(object sender, E...
    method 置换ToolStripMenuItem_Click (line 726) | private void 置换ToolStripMenuItem_Click(object sender, EventArgs e)
    method 噪声ToolStripMenuItem_Click (line 731) | private void 噪声ToolStripMenuItem_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GammaForm.Designer.cs
  class GammaForm (line 3) | partial class GammaForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GammaForm.cs
  class GammaForm (line 12) | public partial class GammaForm : CCWin.Skin_Mac
    method GammaForm (line 14) | public GammaForm(string path)
    method skinButton1_Click (line 33) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 40) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GaussBlurForm.Designer.cs
  class GaussBlurForm (line 3) | partial class GaussBlurForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GaussBlurForm.cs
  class GaussBlurForm (line 12) | public partial class GaussBlurForm : CCWin.Skin_Mac
    method GaussBlurForm (line 14) | public GaussBlurForm(string path)
    method skinHScrollBar1_Scroll (line 34) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 44) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HSLForm.Designer.cs
  class HSLForm (line 3) | partial class HSLForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HSLForm.cs
  class HSLForm (line 12) | public partial class HSLForm : CCWin.Skin_Mac
    method HSLForm (line 14) | public HSLForm(string path)
    method skinButton1_Click (line 45) | private void skinButton1_Click(object sender, EventArgs e)
    method hScrollBar1_Scroll (line 54) | private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method hScrollBar2_Scroll (line 67) | private void hScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method hScrollBar3_Scroll (line 80) | private void hScrollBar3_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighlightShadowForm.Designer.cs
  class HighlightShadowForm (line 3) | partial class HighlightShadowForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighlightShadowForm.cs
  class HighlightShadowForm (line 12) | public partial class HighlightShadowForm : CCWin.Skin_Mac
    method HighlightShadowForm (line 14) | public HighlightShadowForm(string path)
    method skinHScrollBar1_Scroll (line 40) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinHScrollBar2_Scroll (line 53) | private void skinHScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 67) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighpassForm.Designer.cs
  class HighpassForm (line 3) | partial class HighpassForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighpassForm.cs
  class HighpassForm (line 12) | public partial class HighpassForm : CCWin.Skin_Mac
    method HighpassForm (line 14) | public HighpassForm(string path)
    method skinHScrollBar1_Scroll (line 34) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 44) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HistagramForm.Designer.cs
  class HistagramForm (line 3) | partial class HistagramForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HistagramForm.cs
  class HistagramForm (line 13) | unsafe public partial class HistagramForm : CCWin.Skin_Mac
    method HistagramForm (line 15) | public HistagramForm(string path)
    method DrawHistogram (line 24) | private void DrawHistogram(Bitmap tmp, int channel)
    method comboBox1_SelectedIndexChanged (line 102) | private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ImageProcessId.cs
  class ImageProcessId (line 8) | class ImageProcessId

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/LevelForm.Designer.cs
  class LevelForm (line 3) | partial class LevelForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/LevelForm.cs
  class LevelForm (line 13) | unsafe public partial class LevelForm : CCWin.Skin_Mac
    method LevelForm (line 15) | public LevelForm(string path)
    method skinButton1_Click (line 58) | private void skinButton1_Click(object sender, EventArgs e)
    method textBox1_TextChanged (line 70) | private void textBox1_TextChanged(object sender, EventArgs e)
    method textBox3_TextChanged (line 86) | private void textBox3_TextChanged(object sender, EventArgs e)
    method DrawHistogram (line 100) | private void DrawHistogram(Bitmap tmp, int channel)
    method comboBox1_SelectedIndexChanged (line 178) | private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
    method textBox2_TextChanged (line 183) | private void textBox2_TextChanged(object sender, EventArgs e)
    method textBox4_TextChanged (line 194) | private void textBox4_TextChanged(object sender, EventArgs e)
    method textBox5_TextChanged (line 204) | private void textBox5_TextChanged(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MaxForm.Designer.cs
  class MaxForm (line 3) | partial class MaxForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MaxForm.cs
  class MaxForm (line 12) | public partial class MaxForm : CCWin.Skin_Mac
    method MaxForm (line 14) | public MaxForm(string path)
    method skinButton1_Click (line 33) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 40) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MeanBlurForm.Designer.cs
  class MeanBlurForm (line 3) | partial class MeanBlurForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MeanBlurForm.cs
  class MeanBlurForm (line 12) | public partial class MeanBlurForm : CCWin.Skin_Mac
    method MeanBlurForm (line 14) | public MeanBlurForm(string path)
    method skinHScrollBar1_Scroll (line 34) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 44) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MedianForm.Designer.cs
  class MedianForm (line 3) | partial class MedianForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MedianForm.cs
  class MedianForm (line 12) | public partial class MedianForm : CCWin.Skin_Mac
    method MedianForm (line 14) | public MedianForm(string path)
    method skinButton1_Click (line 33) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 40) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MessageForm.Designer.cs
  class MessageForm (line 3) | partial class MessageForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MessageForm.cs
  class MessageForm (line 13) | public partial class MessageForm : Skin_Mac
    method MessageForm (line 15) | public MessageForm(string msg)
    method messageBtn_Click (line 21) | private void messageBtn_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MinForm.Designer.cs
  class MinForm (line 3) | partial class MinForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MinForm.cs
  class MinForm (line 12) | public partial class MinForm : CCWin.Skin_Mac
    method MinForm (line 14) | public MinForm(string path)
    method skinButton1_Click (line 33) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 40) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MosciaForm.Designer.cs
  class MosciaForm (line 3) | partial class MosciaForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MosciaForm.cs
  class MosciaForm (line 12) | public partial class MosciaForm : CCWin.Skin_Mac
    method MosciaForm (line 14) | public MosciaForm(string path)
    method skinButton1_Click (line 33) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 40) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MotionBlurForm.Designer.cs
  class MotionBlurForm (line 3) | partial class MotionBlurForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MotionBlurForm.cs
  class MotionBlurForm (line 12) | public partial class MotionBlurForm : CCWin.Skin_Mac
    method MotionBlurForm (line 14) | public MotionBlurForm(string path)
    method skinHScrollBar1_Scroll (line 39) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinHScrollBar2_Scroll (line 51) | private void skinHScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 63) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/NSaturationForm.Designer.cs
  class NSaturationForm (line 3) | partial class NSaturationForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/NSaturationForm.cs
  class NSaturationForm (line 12) | public partial class NSaturationForm :  CCWin.Skin_Mac
    method NSaturationForm (line 14) | public NSaturationForm(string path)
    method skinButton1_Click (line 34) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 41) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/PosterizeForm.Designer.cs
  class PosterizeForm (line 3) | partial class PosterizeForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/PosterizeForm.cs
  class PosterizeForm (line 12) | public partial class PosterizeForm : CCWin.Skin_Mac
    method PosterizeForm (line 14) | public PosterizeForm(string path)
    method skinButton1_Click (line 33) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 40) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Program.cs
  class Program (line 8) | static class Program
    method Main (line 13) | [STAThread]

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RadialBlurForm.Designer.cs
  class RadialBlurForm (line 3) | partial class RadialBlurForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RadialBlurForm.cs
  class RadialBlurForm (line 12) | public partial class RadialBlurForm : CCWin.Skin_Mac
    method RadialBlurForm (line 14) | public RadialBlurForm(string path)
    method skinHScrollBar1_Scroll (line 34) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 44) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ReliefForm.Designer.cs
  class ReliefForm (line 3) | partial class ReliefForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ReliefForm.cs
  class ReliefForm (line 12) | public partial class ReliefForm : CCWin.Skin_Mac
    method ReliefForm (line 14) | public ReliefForm(string path)
    method skinHScrollBar1_Scroll (line 39) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinHScrollBar2_Scroll (line 51) | private void skinHScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 63) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RotateForm.Designer.cs
  class RotateForm (line 3) | partial class RotateForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RotateForm.cs
  class RotateForm (line 12) | public partial class RotateForm : CCWin.Skin_Mac
    method RotateForm (line 14) | public RotateForm(string path)
    method skinButton1_Click (line 36) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 43) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SmartBlurForm.Designer.cs
  class SmartBlurForm (line 3) | partial class SmartBlurForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SmartBlurForm.cs
  class SmartBlurForm (line 12) | public partial class SmartBlurForm : CCWin.Skin_Mac
    method SmartBlurForm (line 14) | public SmartBlurForm(string path)
    method skinHScrollBar1_Scroll (line 39) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinHScrollBar2_Scroll (line 51) | private void skinHScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 63) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SurfaceBlurForm.Designer.cs
  class SurfaceBlurForm (line 3) | partial class SurfaceBlurForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SurfaceBlurForm.cs
  class SurfaceBlurForm (line 12) | public partial class SurfaceBlurForm : CCWin.Skin_Mac
    method SurfaceBlurForm (line 14) | public SurfaceBlurForm(string path)
    method skinHScrollBar1_Scroll (line 39) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinHScrollBar2_Scroll (line 51) | private void skinHScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 63) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/TempreatureForm.Designer.cs
  class TempreatureForm (line 3) | partial class TempreatureForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/TempreatureForm.cs
  class TempreatureForm (line 12) | public partial class TempreatureForm : CCWin.Skin_Mac
    method TempreatureForm (line 14) | public TempreatureForm(string path)
    method skinHScrollBar1_Scroll (line 34) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 44) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ThresholdForm.Designer.cs
  class ThresholdForm (line 3) | partial class ThresholdForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ThresholdForm.cs
  class ThresholdForm (line 12) | public partial class ThresholdForm : CCWin.Skin_Mac
    method ThresholdForm (line 14) | public ThresholdForm(string path)
    method skinButton1_Click (line 34) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 41) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/USMForm.Designer.cs
  class USMForm (line 3) | partial class USMForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/USMForm.cs
  class USMForm (line 12) | public partial class USMForm : CCWin.Skin_Mac
    method USMForm (line 14) | public USMForm(string path)
    method skinHScrollBar2_Scroll (line 44) | private void skinHScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method skinHScrollBar1_Scroll (line 58) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinHScrollBar3_Scroll (line 72) | private void skinHScrollBar3_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 86) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZPhotoEngineDll.cs
  class ZPhotoEngineDll (line 11) | unsafe class ZPhotoEngineDll
    method ZPHOTO_Desaturate (line 15) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Threshold (line 17) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Saturation (line 19) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_NaturalSaturation (line 21) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Posterize (line 23) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_OverExposure (line 25) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Lightness (line 27) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Invert (line 29) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_HueAndSaturation (line 31) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_HistagramEqualize (line 33) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Curve (line 35) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_NLinearBrightContrast (line 37) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_LinearBrightContrast (line 39) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_AutoContrast (line 41) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_AutoColorGradation (line 43) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_ChannelMixProcess (line 45) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Fragment (line 47) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_SurfaceBlur (line 49) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_RadialBlur (line 51) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_ZoomBlur (line 53) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Relief (line 55) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Mosaic (line 57) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_ColorBalance (line 59) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Diffusion (line 61) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_FastestGaussFilter (line 64) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_HighPass (line 66) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_USM (line 68) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_FindEdges (line 70) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Shadow (line 72) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Highlight (line 74) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Exposure (line 76) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_ColorTemperature (line 78) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_CalcWH (line 80) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_ImageTransformation (line 82) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_MotionBlur (line 84) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Mean (line 86) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_FastMeanFilter (line 88) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_ColorLevel (line 90) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_Blackwhite (line 93) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_GammaCorrect (line 95) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_MedianFilter (line 97) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_MaxFilter (line 99) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_MinFilter (line 101) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_GlowingEdges (line 103) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_ImageWarpWave (line 105) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_HighlightShadowPrecise (line 107) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_LUTFilter (line 109) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_SmartBlurFilter (line 112) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_AnisotropicFilter (line 114) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_DisplacementFilter (line 117) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_NoiseEffect (line 120) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_RGBToYCbCr (line 128) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_YCbCrToRGB (line 130) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_RGBToLab (line 133) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method ZPHOTO_LabToRGB (line 135) | [DllImport("ZPhotoEngine.dll", CallingConvention = CallingConvention.C...
    method NoiseEffect (line 141) | public Bitmap NoiseEffect(Bitmap src, int ratio, float sigma, float ph...
    method DisplacementFilter (line 151) | public Bitmap DisplacementFilter(Bitmap src, Bitmap mask, int hRatio, ...
    method LUTFilter (line 163) | public Bitmap LUTFilter(Bitmap src, Bitmap map, int ratio)
    method HighlightShadowPreciseAdjustProcess (line 175) | public Bitmap HighlightShadowPreciseAdjustProcess(Bitmap src, float hi...
    method ImageWarpWaveProcess (line 186) | public Bitmap ImageWarpWaveProcess(Bitmap src, int intensity)
    method GlowingEdgesProcess (line 197) | public Bitmap GlowingEdgesProcess(Bitmap src, int edgeSize, int edgeLi...
    method MedianFilterProcess (line 208) | public Bitmap MedianFilterProcess(Bitmap src, int size)
    method MaxFilterProcess (line 218) | public Bitmap MaxFilterProcess(Bitmap src, int size)
    method MinFilterProcess (line 228) | public Bitmap MinFilterProcess(Bitmap src, int size)
    method GammaCorrectProcess (line 238) | public Bitmap GammaCorrectProcess(Bitmap src, int intensity)
    method ChannelMixProcess (line 248) | public Bitmap ChannelMixProcess(Bitmap src, int channel, int kr, int k...
    method MeanProcess (line 257) | public Bitmap MeanProcess(Bitmap src)
    method AutoColorGradationAdjust (line 265) | public Bitmap AutoColorGradationAdjust(Bitmap src)
    method AutoContrastAdjust (line 274) | public Bitmap AutoContrastAdjust(Bitmap src)
    method HistagramEqualize (line 282) | public Bitmap HistagramEqualize(Bitmap src)
    method MotionBlur (line 291) | public Bitmap MotionBlur(Bitmap src, int angle, int distance)
    method TransformRotation (line 299) | public Bitmap TransformRotation(Bitmap src, float angle, int transform...
    method TransformScale (line 321) | public Bitmap TransformScale(Bitmap src, float scale, int transform_me...
    method TransformRotationScale (line 343) | public Bitmap TransformRotationScale(Bitmap src, float angle, float sc...
    method TransformAffine (line 365) | public Bitmap TransformAffine(Bitmap src, float[] H, int transform_met...
    method Threshold (line 386) | public Bitmap Threshold(Bitmap src, int threshold)
    method TransformMirror (line 395) | public Bitmap TransformMirror(Bitmap srcBitmap, int transform_method)
    method Fragment (line 420) | public Bitmap Fragment(Bitmap src)
    method HueSaturationAdjust (line 428) | public Bitmap HueSaturationAdjust(Bitmap src, int hue, int saturation)
    method ColorTemperatureProcess (line 437) | public Bitmap ColorTemperatureProcess(Bitmap src, int intensity)
    method Posterize (line 446) | public Bitmap Posterize(Bitmap src, int clusterNum)
    method Desaturate (line 454) | public Bitmap Desaturate(Bitmap src)
    method OverExposure (line 463) | public Bitmap OverExposure(Bitmap src)
    method ExposureAdjust (line 472) | public Bitmap ExposureAdjust(Bitmap src, int intensity)
    method LightnessAdjustProcess (line 480) | public Bitmap LightnessAdjustProcess(Bitmap src, int lightness)
    method ShadowAdjust (line 489) | public Bitmap ShadowAdjust(Bitmap src, int intensity, int ratio)
    method HighlightAdjust (line 497) | public Bitmap HighlightAdjust(Bitmap src, int intensity, int ratio)
    method Invert (line 505) | public Bitmap Invert(Bitmap src)
    method SurfaceBlur (line 513) | public Bitmap SurfaceBlur(Bitmap src, int threshold, int radius)
    method NLinearBrightContrastAdjust (line 521) | public Bitmap NLinearBrightContrastAdjust(Bitmap src, int bright, int ...
    method LinearBrightContrastAdjust (line 529) | public Bitmap LinearBrightContrastAdjust(Bitmap src, int bright, int c...
    method FindEdgesProcess (line 537) | public Bitmap FindEdgesProcess(Bitmap src)
    method GaussFilterProcess (line 545) | public Bitmap GaussFilterProcess(Bitmap src, float radius)
    method MeanFilterProcess (line 553) | public Bitmap MeanFilterProcess(Bitmap src, int radius)
    method HighPassProcess (line 561) | public Bitmap HighPassProcess(Bitmap src, float radius)
    method USMProcess (line 569) | public Bitmap USMProcess(Bitmap src, float radius, int amount, int thr...
    method SaturationProcess (line 578) | public Bitmap SaturationProcess(Bitmap src, int saturation)
    method NaturalSaturationProcess (line 586) | public Bitmap NaturalSaturationProcess(Bitmap src, int saturation)
    method ColorBalanceProcess (line 594) | public Bitmap ColorBalanceProcess(Bitmap src, int cyan, int magenta, i...
    method Relief (line 602) | public Bitmap Relief(Bitmap src, int angle, int amount)
    method DiffusionProcess (line 610) | public Bitmap DiffusionProcess(Bitmap src, int intensity)
    method MosaicProcess (line 618) | public Bitmap MosaicProcess(Bitmap src, int size)
    method RadialBlurProcess (line 626) | public Bitmap RadialBlurProcess(Bitmap src, int amount)
    method ZoomBlurProcess (line 634) | public Bitmap ZoomBlurProcess(Bitmap src, int radius, int amount)
    method ColorLevelProcess (line 642) | public Bitmap ColorLevelProcess(Bitmap src, int DestChannel, int Input...
    method BlackwhiteProcess (line 651) | public Bitmap BlackwhiteProcess(Bitmap src, int kRed, int kGreen, int ...
    method LUTFilterProcess (line 659) | public Bitmap LUTFilterProcess(Bitmap src, Bitmap map, int ratio)
    method SmartBlurProcess (line 671) | public Bitmap SmartBlurProcess(Bitmap src, int size, int threshold)
    method AnisotropicFilter (line 679) | public Bitmap AnisotropicFilter(Bitmap src, int iter, float k)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomBlurForm.Designer.cs
  class ZoomBlurForm (line 3) | partial class ZoomBlurForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomBlurForm.cs
  class ZoomBlurForm (line 12) | public partial class ZoomBlurForm : CCWin.Skin_Mac
    method ZoomBlurForm (line 14) | public ZoomBlurForm(string path)
    method skinHScrollBar1_Scroll (line 39) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)
    method skinHScrollBar2_Scroll (line 51) | private void skinHScrollBar2_Scroll(object sender, ScrollEventArgs e)
    method skinButton1_Click (line 63) | private void skinButton1_Click(object sender, EventArgs e)

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomForm.Designer.cs
  class ZoomForm (line 3) | partial class ZoomForm
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomForm.cs
  class ZoomForm (line 12) | public partial class ZoomForm : CCWin.Skin_Mac
    method ZoomForm (line 14) | public ZoomForm()
    method skinButton1_Click (line 27) | private void skinButton1_Click(object sender, EventArgs e)
    method skinHScrollBar1_Scroll (line 34) | private void skinHScrollBar1_Scroll(object sender, ScrollEventArgs e)

FILE: ZPHOTOENGINE/ZPhotoEngine_IO/PC_LIB/inc/SFBITMAP.h
  type SFBITMAP (line 14) | typedef struct _tag_SFBITMAP{
  type SFPixelFormat (line 28) | typedef enum _sf_image_pixelformat{SF_IMAGE_PIXELFORMAT_YUV420,SF_IMAGE_...
  type SFImageFormat (line 33) | typedef enum _sf_imageformat{SF_IMAGE_PNG,SF_IMAGE_BMP,SF_IMAGE_JPG, SF_...

FILE: ZPHOTOENGINE/ZPhotoEngine_IO/PC_LIB/inc/SFImageReadWrite.h
  function class (line 22) | class SF_ImageReadWrite

FILE: ZPHOTOENGINE/ZPhotoEngine_IO/PC_LIB/inc/f_error.h
  type SF_RET (line 22) | typedef enum _sf_ret {

FILE: ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/SFBITMAP.h
  type SFBITMAP (line 14) | typedef struct _tag_SFBITMAP{
  type SFPixelFormat (line 28) | typedef enum _sf_image_pixelformat{SF_IMAGE_PIXELFORMAT_YUV420,SF_IMAGE_...
  type SFImageFormat (line 33) | typedef enum _sf_imageformat{SF_IMAGE_PNG,SF_IMAGE_BMP,SF_IMAGE_JPG, SF_...

FILE: ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/SFImageReadWrite.h
  function class (line 22) | class SF_ImageReadWrite

FILE: ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/f_error.h
  type SF_RET (line 22) | typedef enum _sf_ret {

FILE: ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/main.cpp
  function _tmain (line 7) | int _tmain(int argc, char* argv[])

FILE: ZPHOTOENGINE/android/ZPHOTO/PhotoEngine.java
  class PhotoEngine (line 12) | public class PhotoEngine {
    method initLib (line 20) | public static void initLib(AssetManager am) {
    method open_file_binary (line 24) | public static InputStream open_file_binary(String filepath) {
    method native_ZPHOTO_Saturation (line 60) | public native static int native_ZPHOTO_Saturation(Bitmap bitmap, int s...
    method native_ZPHOTO_Lightness (line 61) | public native static int native_ZPHOTO_Lightness(Bitmap bitmap, int li...
    method native_ZPHOTO_Invert (line 62) | public native static int native_ZPHOTO_Invert(Bitmap bitmap);
    method native_ZPHOTO_HueAndSaturation (line 63) | public native static int native_ZPHOTO_HueAndSaturation(Bitmap bitmap,...
    method native_ZPHOTO_LinearBrightContrast (line 64) | public native static int native_ZPHOTO_LinearBrightContrast(Bitmap bit...
    method native_ZPHOTO_NLinearBrightContrast (line 65) | public native static int native_ZPHOTO_NLinearBrightContrast(Bitmap bi...
    method native_ZPHOTO_Blackwhite (line 66) | public native static int  native_ZPHOTO_Blackwhite(Bitmap bitmap, int ...
    method native_ZPHOTO_Threshold (line 67) | public native static int  native_ZPHOTO_Threshold(Bitmap bitmap, int t...
    method native_ZPHOTO_ChannelMixProcess (line 68) | public native static int  native_ZPHOTO_ChannelMixProcess(Bitmap bitma...
    method native_ZPHOTO_FastestGaussFilter (line 69) | public native static int  native_ZPHOTO_FastestGaussFilter(Bitmap bitm...
    method native_ZPHOTO_HighPass (line 70) | public native static int  native_ZPHOTO_HighPass(Bitmap bitmap, float ...
    method native_ZPHOTO_USM (line 71) | public native static int  native_ZPHOTO_USM(Bitmap bitmap, float radiu...
    method native_ZPHOTO_FindEdges (line 72) | public native static int  native_ZPHOTO_FindEdges(Bitmap bitmap);
    method native_ZPHOTO_ImageBlendEffect (line 73) | public native static int  native_ZPHOTO_ImageBlendEffect(Bitmap basebi...
    method native_ZPHOTO_ColorTemperature (line 74) | public native static int  native_ZPHOTO_ColorTemperature(Bitmap bitmap...
    method native_ZPHOTO_HighlightShadowPrecise (line 75) | public native static int native_ZPHOTO_HighlightShadowPrecise(Bitmap b...
    method native_ZPHOTO_Exposure (line 76) | public native static int  native_ZPHOTO_Exposure(Bitmap bitmap, int in...
    method native_XIUSDK_GammaCorrect (line 77) | public native static int native_XIUSDK_GammaCorrect(Bitmap bitmap, int...
    method native_ZPHOTO_CalcWH (line 78) | public native static int native_ZPHOTO_CalcWH(int[] inputImgSize, floa...
    method native_ZPHOTO_ImageTransformation (line 79) | public native static int native_ZPHOTO_ImageTransformation(Bitmap bitm...
    method native_ZPHOTO_FastMeanFilter (line 80) | public native static int native_ZPHOTO_FastMeanFilter(Bitmap bitmap, i...
    method native_ZPHOTO_SobelFilter (line 81) | public native static int native_ZPHOTO_SobelFilter(Bitmap bitmap);
    method native_ZPHOTO_Posterize (line 82) | public native static int native_ZPHOTO_Posterize(Bitmap bitmap, int cl...
    method native_ZPHOTO_Fragment (line 83) | public native static int native_ZPHOTO_Fragment(Bitmap bitmap);
    method native_ZPHOTO_MotionBlur (line 84) | public native static int native_ZPHOTO_MotionBlur(Bitmap bitmap, int a...
    method native_ZPHOTO_SurfaceBlur (line 85) | public native static int native_ZPHOTO_SurfaceBlur(Bitmap bitmap, int ...
    method native_ZPHOTO_RadialBlur (line 86) | public native static int native_ZPHOTO_RadialBlur(Bitmap bitmap, int c...
    method native_ZPHOTO_ZoomBlur (line 87) | public native static int native_ZPHOTO_ZoomBlur(Bitmap bitmap, int cen...
    method native_ZPHOTO_Relief (line 88) | public native static int native_ZPHOTO_Relief(Bitmap bitmap, int angle...
    method native_ZPHOTO_Mean (line 89) | public native static int native_ZPHOTO_Mean(Bitmap bitmap);
    method native_ZPHOTO_Mosaic (line 90) | public native static int native_ZPHOTO_Mosaic(Bitmap bitmap, int size);
    method native_ZPHOTO_OverExposure (line 91) | public native static int native_ZPHOTO_OverExposure(Bitmap bitmap);
    method native_ZPHOTO_HistagramEqualize (line 92) | public native static int native_ZPHOTO_HistagramEqualize(Bitmap bitmap);
    method native_ZPHOTO_Desaturate (line 93) | public native static int native_ZPHOTO_Desaturate(Bitmap bitmap, int r...
    method native_ZPHOTO_Curve (line 94) | public native static int native_ZPHOTO_Curve(Bitmap bitmap, int destCh...
    method native_ZPHOTO_AutoContrast (line 95) | public native static int native_ZPHOTO_AutoContrast(Bitmap bitmap);
    method native_ZPHOTO_AutoContrastAdjustWithParameters (line 96) | public native static int native_ZPHOTO_AutoContrastAdjustWithParameter...
    method native_ZPHOTO_AutoColorGradation (line 97) | public native static int native_ZPHOTO_AutoColorGradation(Bitmap bitmap);
    method native_ZPHOTO_AutoColorGradationAdjustWithParameters (line 98) | public native static int native_ZPHOTO_AutoColorGradationAdjustWithPar...
    method native_ZPHOTO_Diffusion (line 99) | public native static int native_ZPHOTO_Diffusion(Bitmap bitmap, int in...
    method native_ZPHOTO_LSNBlur (line 100) | public native static int native_ZPHOTO_LSNBlur(Bitmap bitmap, int radi...
    method native_ZPHOTO_MedianFilter (line 101) | public native static int native_ZPHOTO_MedianFilter(Bitmap bitmap, int...
    method native_ZPHOTO_MaxFilter (line 102) | public native static int native_ZPHOTO_MaxFilter(Bitmap bitmap, int ra...
    method native_ZPHOTO_MinFilter (line 103) | public native static int native_ZPHOTO_MinFilter(Bitmap bitmap, int ra...
    method native_ZPHOTO_GlowingEdges (line 104) | public native static int native_ZPHOTO_GlowingEdges(Bitmap bitmap, int...
    method native_ZPHOTO_ImageWarpWave (line 105) | public native static int native_ZPHOTO_ImageWarpWave(Bitmap bitmap, in...
    method native_ZPHOTO_GammaCorrect (line 106) | public native static int native_ZPHOTO_GammaCorrect(Bitmap bitmap, int...
    method native_ZPHOTO_NaturalSaturation (line 107) | public native static int native_ZPHOTO_NaturalSaturation(Bitmap bitmap...
    method native_ZPHOTO_ColorBalance (line 108) | public native static int native_ZPHOTO_ColorBalance(Bitmap bitmap, int...
    method native_ZPHOTO_ColorLevel (line 109) | public native static int native_ZPHOTO_ColorLevel(Bitmap bitmap, int d...
    method native_ZPHOTO_LUTFilter (line 110) | public native static int native_ZPHOTO_LUTFilter(Bitmap bitmap,Bitmap ...
    method native_ZPHOTO_SmartBlurFilter (line 111) | public native static int native_ZPHOTO_SmartBlurFilter(Bitmap bitmap, ...
    method native_ZPHOTO_AnisotropicFilter (line 112) | public native static int native_ZPHOTO_AnisotropicFilter(Bitmap bitmap...
    method native_ZPHOTO_DisplacementFilter (line 113) | public native static int native_ZPHOTO_DisplacementFilter(Bitmap bitma...
    method native_ZPHOTO_NoiseEffect (line 114) | public native static int  native_ZPHOTO_NoiseEffect(Bitmap bitmap, int...
Condensed preview — 239 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (1,180K chars).
[
  {
    "path": ".gitattributes",
    "chars": 378,
    "preview": "# Auto detect text files and perform LF normalization\n* text=auto\n\n# Custom for Visual Studio\n*.cs     diff=csharp\n\n# St"
  },
  {
    "path": ".gitignore",
    "chars": 649,
    "preview": "# Windows image file caches\nThumbs.db\nehthumbs.db\n\n# Folder config file\nDesktop.ini\n\n# Recycle Bin used on file shares\n$"
  },
  {
    "path": "README.md",
    "chars": 117,
    "preview": "# ZPhotoEngine\nZPhotoEngine is a special image processing library for free. It has a lot of features like photoshop.\n"
  },
  {
    "path": "ZPHOTOENGINE/Linux/ZPhotoEngine.h",
    "chars": 49818,
    "preview": "/*****************************************************************************\nCopyright:    Trent\nFile name:    ZPhotoE"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/AnisotropicFilterForm.Designer.cs",
    "chars": 9777,
    "preview": "namespace TestDemo\n{\n    partial class AnisotropicFilterForm\n    {\n        /// <summary>\n        /// Required designer "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/AnisotropicFilterForm.cs",
    "chars": 2226,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/AnisotropicFilterForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BlackWhiteForm.Designer.cs",
    "chars": 24821,
    "preview": "namespace TestDemo\n{\n    partial class BlackWhiteForm\n    {\n        /// <summary>\n        /// Required designer variabl"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BlackWhiteForm.cs",
    "chars": 10098,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BlackWhiteForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BrightContrastForm.Designer.cs",
    "chars": 8380,
    "preview": "namespace TestDemo\n{\n    partial class BrightContrastForm\n    {\n        /// <summary>\n        /// Required designer var"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BrightContrastForm.cs",
    "chars": 4112,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/BrightContrastForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ChannelMixForm.Designer.cs",
    "chars": 15460,
    "preview": "namespace TestDemo\n{\n    partial class ChannelMixForm\n    {\n        /// <summary>\n        /// Required designer variabl"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ChannelMixForm.cs",
    "chars": 5297,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ChannelMixForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ColorbalanceForm.Designer.cs",
    "chars": 12317,
    "preview": "namespace TestDemo\n{\n    partial class ColorbalanceForm\n    {\n        /// <summary>\n        /// Required designer varia"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ColorbalanceForm.cs",
    "chars": 4427,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ColorbalanceForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DifussionForm.Designer.cs",
    "chars": 7023,
    "preview": "namespace TestDemo\n{\n    partial class DifussionForm\n    {\n        /// <summary>\n        /// Required designer variable"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DifussionForm.cs",
    "chars": 1576,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DifussionForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DisplacementFrom.Designer.cs",
    "chars": 6633,
    "preview": "namespace TestDemo\n{\n    partial class DisplacementFrom\n    {\n        /// <summary>\n        /// Required designer varia"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DisplacementFrom.cs",
    "chars": 1048,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/DisplacementFrom.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ExposureForm.Designer.cs",
    "chars": 6978,
    "preview": "namespace TestDemo\n{\n    partial class ExposureForm\n    {\n        /// <summary>\n        /// Required designer variable."
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ExposureForm.cs",
    "chars": 1542,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ExposureForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/FilterForm.Designer.cs",
    "chars": 8857,
    "preview": "namespace TestDemo\n{\n    partial class FilterForm\n    {\n        /// <summary>\n        /// Required designer variable.\n "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/FilterForm.cs",
    "chars": 2607,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/FilterForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Form1.Designer.cs",
    "chars": 62812,
    "preview": "namespace TestDemo\n{\n    partial class Form1\n    {\n        /// <summary>\n        /// Required designer variable.\n      "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Form1.cs",
    "chars": 29842,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Form1.resx",
    "chars": 106898,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GammaForm.Designer.cs",
    "chars": 7018,
    "preview": "namespace TestDemo\n{\n    partial class GammaForm\n    {\n        /// <summary>\n        /// Required designer variable.\n  "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GammaForm.cs",
    "chars": 1541,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GammaForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GaussBlurForm.Designer.cs",
    "chars": 7031,
    "preview": "namespace TestDemo\n{\n    partial class GaussBlurForm\n    {\n        /// <summary>\n        /// Required designer variable"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GaussBlurForm.cs",
    "chars": 1609,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/GaussBlurForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HSLForm.Designer.cs",
    "chars": 9422,
    "preview": "namespace TestDemo\n{\n    partial class HSLForm\n    {\n        /// <summary>\n        /// Required designer variable.\n    "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HSLForm.cs",
    "chars": 3155,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HSLForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighlightShadowForm.Designer.cs",
    "chars": 9788,
    "preview": "namespace TestDemo\n{\n    partial class HighlightShadowForm\n    {\n        /// <summary>\n        /// Required designer va"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighlightShadowForm.cs",
    "chars": 2577,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighlightShadowForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighpassForm.Designer.cs",
    "chars": 7027,
    "preview": "namespace TestDemo\n{\n    partial class HighpassForm\n    {\n        /// <summary>\n        /// Required designer variable."
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighpassForm.cs",
    "chars": 1600,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HighpassForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HistagramForm.Designer.cs",
    "chars": 3702,
    "preview": "namespace TestDemo\n{\n    partial class HistagramForm\n    {\n        /// <summary>\n        /// Required designer variable"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HistagramForm.cs",
    "chars": 3998,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/HistagramForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ImageProcessId.cs",
    "chars": 3274,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\n\nnamespace TestDemo\n{\n    class I"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/LevelForm.Designer.cs",
    "chars": 9717,
    "preview": "namespace TestDemo\n{\n    partial class LevelForm\n    {\n        /// <summary>\n        /// Required designer variable.\n  "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/LevelForm.cs",
    "chars": 7722,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/LevelForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MaxForm.Designer.cs",
    "chars": 7011,
    "preview": "namespace TestDemo\n{\n    partial class MaxForm\n    {\n        /// <summary>\n        /// Required designer variable.\n    "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MaxForm.cs",
    "chars": 1540,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MaxForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MeanBlurForm.Designer.cs",
    "chars": 7027,
    "preview": "namespace TestDemo\n{\n    partial class MeanBlurForm\n    {\n        /// <summary>\n        /// Required designer variable."
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MeanBlurForm.cs",
    "chars": 1553,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MeanBlurForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MedianForm.Designer.cs",
    "chars": 7017,
    "preview": "namespace TestDemo\n{\n    partial class MedianForm\n    {\n        /// <summary>\n        /// Required designer variable.\n "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MedianForm.cs",
    "chars": 1552,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MedianForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MessageForm.Designer.cs",
    "chars": 3466,
    "preview": "namespace TestDemo\n{\n    partial class MessageForm\n    {\n        /// <summary>\n        /// Required designer variable.\n"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MessageForm.cs",
    "chars": 576,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MessageForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MinForm.Designer.cs",
    "chars": 7011,
    "preview": "namespace TestDemo\n{\n    partial class MinForm\n    {\n        /// <summary>\n        /// Required designer variable.\n    "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MinForm.cs",
    "chars": 1540,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MinForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MosciaForm.Designer.cs",
    "chars": 6977,
    "preview": "namespace TestDemo\n{\n    partial class MosciaForm\n    {\n        /// <summary>\n        /// Required designer variable.\n "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MosciaForm.cs",
    "chars": 1563,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MosciaForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MotionBlurForm.Designer.cs",
    "chars": 9910,
    "preview": "namespace TestDemo\n{\n    partial class MotionBlurForm\n    {\n        /// <summary>\n        /// Required designer variabl"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MotionBlurForm.cs",
    "chars": 2312,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/MotionBlurForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/NSaturationForm.Designer.cs",
    "chars": 6934,
    "preview": "namespace TestDemo\n{\n    partial class NSaturationForm\n    {\n        /// <summary>\n        /// Required designer variab"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/NSaturationForm.cs",
    "chars": 1605,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/NSaturationForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/PosterizeForm.Designer.cs",
    "chars": 7026,
    "preview": "namespace TestDemo\n{\n    partial class PosterizeForm\n    {\n        /// <summary>\n        /// Required designer variable"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/PosterizeForm.cs",
    "chars": 1542,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/PosterizeForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Program.cs",
    "chars": 477,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Windows.Forms;\n\nnamespace TestDemo\n{\n  "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Properties/AssemblyInfo.cs",
    "chars": 1389,
    "preview": "using System.Reflection;\nusing System.Runtime.CompilerServices;\nusing System.Runtime.InteropServices;\n\n// General Infor"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Properties/Resources.Designer.cs",
    "chars": 2779,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Properties/Resources.resx",
    "chars": 5494,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Properties/Settings.Designer.cs",
    "chars": 1063,
    "preview": "//------------------------------------------------------------------------------\n// <auto-generated>\n//     This code w"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/Properties/Settings.settings",
    "chars": 240,
    "preview": "<?xml version='1.0' encoding='utf-8'?>\n<SettingsFile xmlns=\"http://schemas.microsoft.com/VisualStudio/2004/01/settings\""
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RadialBlurForm.Designer.cs",
    "chars": 7033,
    "preview": "namespace TestDemo\n{\n    partial class RadialBlurForm\n    {\n        /// <summary>\n        /// Required designer variabl"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RadialBlurForm.cs",
    "chars": 1557,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RadialBlurForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ReliefForm.Designer.cs",
    "chars": 9846,
    "preview": "namespace TestDemo\n{\n    partial class ReliefForm\n    {\n        /// <summary>\n        /// Required designer variable.\n "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ReliefForm.cs",
    "chars": 2262,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ReliefForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RotateForm.Designer.cs",
    "chars": 6924,
    "preview": "namespace TestDemo\n{\n    partial class RotateForm\n    {\n        /// <summary>\n        /// Required designer variable.\n "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RotateForm.cs",
    "chars": 1479,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/RotateForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SmartBlurForm.Designer.cs",
    "chars": 9747,
    "preview": "namespace TestDemo\n{\n    partial class SmartBlurForm\n    {\n        /// <summary>\n        /// Required designer variable"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SmartBlurForm.cs",
    "chars": 2350,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SmartBlurForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SurfaceBlurForm.Designer.cs",
    "chars": 9954,
    "preview": "namespace TestDemo\n{\n    partial class SurfaceBlurForm\n    {\n        /// <summary>\n        /// Required designer variab"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SurfaceBlurForm.cs",
    "chars": 2339,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/SurfaceBlurForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/TempreatureForm.Designer.cs",
    "chars": 6986,
    "preview": "namespace TestDemo\n{\n    partial class TempreatureForm\n    {\n        /// <summary>\n        /// Required designer variab"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/TempreatureForm.cs",
    "chars": 1558,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/TempreatureForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/TestDemo.csproj",
    "chars": 17471,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" DefaultTargets=\"Build\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/TestDemo.csproj.user",
    "chars": 621,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ThresholdForm.Designer.cs",
    "chars": 6982,
    "preview": "namespace TestDemo\n{\n    partial class ThresholdForm\n    {\n        /// <summary>\n        /// Required designer variable"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ThresholdForm.cs",
    "chars": 1563,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ThresholdForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/USMForm.Designer.cs",
    "chars": 12820,
    "preview": "namespace TestDemo\n{\n    partial class USMForm\n    {\n        /// <summary>\n        /// Required designer variable.\n    "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/USMForm.cs",
    "chars": 3382,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/USMForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZPhotoEngineDll.cs",
    "chars": 45126,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text;\nusing System.Drawing;\nusing Syste"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomBlurForm.Designer.cs",
    "chars": 9950,
    "preview": "namespace TestDemo\n{\n    partial class ZoomBlurForm\n    {\n        /// <summary>\n        /// Required designer variable."
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomBlurForm.cs",
    "chars": 2311,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomBlurForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomForm.Designer.cs",
    "chars": 6163,
    "preview": "namespace TestDemo\n{\n    partial class ZoomForm\n    {\n        /// <summary>\n        /// Required designer variable.\n   "
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomForm.cs",
    "chars": 950,
    "preview": "using System;\nusing System.Collections.Generic;\nusing System.ComponentModel;\nusing System.Data;\nusing System.Drawing;\nu"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/ZoomForm.resx",
    "chars": 5696,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n  <!-- \n    Microsoft ResX Schema \n    \n    Version 2.0\n    \n    The prim"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/app.config",
    "chars": 141,
    "preview": "<?xml version=\"1.0\"?>\n<configuration>\n<startup><supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.0\"/></star"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/bin/Release/TestDemo.exe.config",
    "chars": 141,
    "preview": "<?xml version=\"1.0\"?>\n<configuration>\n<startup><supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.0\"/></star"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/bin/Release/TestDemo.vshost.exe.config",
    "chars": 141,
    "preview": "<?xml version=\"1.0\"?>\n<configuration>\n<startup><supportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.0\"/></star"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/bin/Release/TestDemo.vshost.exe.manifest",
    "chars": 477,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<assembly xmlns=\"urn:schemas-microsoft-com:asm.v1\" manifestVers"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/obj/x86/Debug/TestDemo.csproj.FileListAbsolute.txt",
    "chars": 4400,
    "preview": "H:\\ME\\Github项目\\ZPhotoEngine\\ZPHOTOENGINE\\PC\\PC-ProjectCodes\\TestDemo\\obj\\x86\\Debug\\TestDemo.csprojResolveAssemblyReferen"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo/obj/x86/Release/TestDemo.csproj.FileListAbsolute.txt",
    "chars": 5082,
    "preview": "H:\\ME\\Github项目\\ZPhotoEngine\\ZPHOTOENGINE\\PC\\PC-ProjectCodes\\TestDemo\\obj\\x86\\Release\\TestDemo.AnisotropicFilterForm.reso"
  },
  {
    "path": "ZPHOTOENGINE/PC/PC-ProjectCodes/TestDemo.sln",
    "chars": 1502,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 11.00\n# Visual Studio 2010\nProject(\"{FAE04EC0-301F-11D3-BF4B-00C"
  },
  {
    "path": "ZPHOTOENGINE/PC/ZPhotoEngine.h",
    "chars": 49818,
    "preview": "/*****************************************************************************\nCopyright:    Trent\nFile name:    ZPhotoE"
  },
  {
    "path": "ZPHOTOENGINE/PC/library/ReadMe.txt",
    "chars": 65,
    "preview": "shared library: ZPhotoEngine.dll\nstatic library: ZPhotoEngine.lib"
  },
  {
    "path": "ZPHOTOENGINE/PC/library/ZPhotoEngine.h",
    "chars": 49818,
    "preview": "/*****************************************************************************\nCopyright:    Trent\nFile name:    ZPhotoE"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/PC_LIB/inc/SFBITMAP.h",
    "chars": 1304,
    "preview": "#ifndef _IN_BITMAP_H_\n#define _IN_BITMAP_H_\n#include\"f_error.h\"\n#define SF_IMAGE_MAX_PLANES  4\n/*ͼṹBITMAP\n/*\n*pixelForma"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/PC_LIB/inc/SFImageReadWrite.h",
    "chars": 3153,
    "preview": "\n/*************************************************************************\nCopyright:   SF.\nAuthor:\t\t Hu Yaowu\nDate:\t\t "
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/PC_LIB/inc/f_error.h",
    "chars": 2340,
    "preview": "#ifndef  __SF_EFFOR__\n#define  __SF_EFFOR__\n\nstatic int SF_SUCCESS = 0;\nstatic int SF_FORMAT_ERROR = -2;\nstatic int SF_F"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/SFBITMAP.h",
    "chars": 1304,
    "preview": "#ifndef _IN_BITMAP_H_\n#define _IN_BITMAP_H_\n#include\"f_error.h\"\n#define SF_IMAGE_MAX_PLANES  4\n/*ͼṹBITMAP\n/*\n*pixelForma"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/SFImageReadWrite.h",
    "chars": 3153,
    "preview": "\n/*************************************************************************\nCopyright:   SF.\nAuthor:\t\t Hu Yaowu\nDate:\t\t "
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/ZPhotoIODEMO.vcxproj",
    "chars": 4067,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project DefaultTargets=\"Build\" ToolsVersion=\"4.0\" xmlns=\"http://schemas.microso"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/ZPhotoIODEMO.vcxproj.filters",
    "chars": 1415,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/ZPhotoIODEMO.vcxproj.user",
    "chars": 139,
    "preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<Project ToolsVersion=\"4.0\" xmlns=\"http://schemas.microsoft.com/developer/msbuil"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/f_error.h",
    "chars": 2340,
    "preview": "#ifndef  __SF_EFFOR__\n#define  __SF_EFFOR__\n\nstatic int SF_SUCCESS = 0;\nstatic int SF_FORMAT_ERROR = -2;\nstatic int SF_F"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/main.cpp",
    "chars": 888,
    "preview": "#include \"stdafx.h\"\n#include\"f_error.h\"\n#include\"SFBITMAP.h\"\n#include\"SFImageReadWrite.h\"\n#pragma  comment(lib,\"ZPhotoEn"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/stdafx.cpp",
    "chars": 292,
    "preview": "// stdafx.cpp : source file that includes just the standard includes\n// ImageReadDemo.pch will be the pre-compiled heade"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/stdafx.h",
    "chars": 305,
    "preview": "// stdafx.h : include file for standard system include files,\n// or project specific include files that are used frequen"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO/targetver.h",
    "chars": 306,
    "preview": "#pragma once\n\n// Including SDKDDKVer.h defines the highest available Windows platform.\n\n// If you wish to build your app"
  },
  {
    "path": "ZPHOTOENGINE/ZPhotoEngine_IO/ZPhotoIODEMO/ZPhotoIODEMO.sln",
    "chars": 881,
    "preview": "\nMicrosoft Visual Studio Solution File, Format Version 11.00\n# Visual Studio 2010\nProject(\"{8BC9CEB8-8B4A-11D0-8D11-00A"
  },
  {
    "path": "ZPHOTOENGINE/android/ReadMe.txt",
    "chars": 56,
    "preview": "ʹ÷\n1ZphotoEngine.soŵandroid projectlibsĿ¼\n2ZPHOTOŵsrcĿ¼£"
  },
  {
    "path": "ZPHOTOENGINE/android/ZPHOTO/PhotoEngine.java",
    "chars": 6767,
    "preview": "package ZPHOTO;\n\nimport java.io.FileInputStream;\nimport java.io.FileNotFoundException;\nimport java.io.IOException;\nimpor"
  },
  {
    "path": "ZPhotoEngine.h",
    "chars": 49818,
    "preview": "/*****************************************************************************\nCopyright:    Trent\nFile name:    ZPhotoE"
  }
]

// ... and 90 more files (download for full content)

About this extraction

This page contains the full source code of the XiuSdk/ZPhotoEngine GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 239 files (1.1 MB), approximately 310.0k tokens, and a symbol index with 527 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!