资源简介
比较2个24位位图到8位位图的算法效果。一个使用通用算法,一个使用Octree算法,Octree算法效果略好于通用算法。
代码片段和文件信息
// Colors.c
// search “Wicked Code“->‘Jeff Prosise‘
//***************************************************************************
//
// Colors presents an implementation of the Gervautz-Purgathofer octree
// color quanitization algorithm that creates optimized color palettes for
// for 16 24 and 32-bit DIB sections
//
//***************************************************************************
#include
#include
#include “Colors.h“
LRESULT CALLBACK WndProc (HWND UINT WPARAM LPARAM);
BOOL CALLBACK DlgProc (HWND UINT WPARAM LPARAM);
HPALETTE CreateExactPalette (HANDLE);
HPALETTE CreateOctreePalette (HANDLE UINT UINT);
void AddColor (NODE** BYTE BYTE BYTE UINT UINT UINT* NODE**);
NODE* CreateNode (UINT UINT UINT* NODE**);
void ReduceTree (UINT UINT* NODE**);
void DeleteTree (NODE**);
void GetPaletteColors (NODE* PALETTEENTRY* UINT*);
int GetRightShiftCount (DWORD);
int GetLeftShiftCount (DWORD);
void UpdatePaletteType (HWND UINT);
BOOL DoFileOpen (HWND);
void UpdateWindowtitle (HWND LPSTR);
void DisplayDIBSection (HDC HANDLE HPALETTE);
HPALETTE GetPaletteHandle (HWND HANDLE);
UINT BitsPerPixel (HANDLE);
/////////////////////////////////////////////////////////////////////////////
// Global variables
UINT g_nPaletteType = IDM_OPTIMIZED_PALETTE;//IDM_HALFTONE_PALETTE;
HANDLE g_hImage = NULL;
HPALETTE g_hPalette = NULL;
UINT g_nColorBits = 6;
/////////////////////////////////////////////////////////////////////////////
// WinMain
int WINAPI WinMain (HINSTANCE hInstance HINSTANCE hPrevInstance
LPSTR lpszCmdLine int nCmdShow)
{
static char szAppName[] = “Colors“;
WNDCLASS wc;
HWND hwnd;
MSG msg;
wc.style = 0;
wc.lpfnWndProc = (WNDPROC) WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon (NULL IDI_APPLICATION);
wc.hCursor = LoadCursor (NULL IDC_ARROW);
wc.hbrBackground = (HBRUSH) (COLOR_WINDOW + 1);
wc.lpszMenuName = MAKEINTRESOURCE (IDR_MENU);
wc.lpszClassName = szAppName;
RegisterClass (&wc);
hwnd = CreateWindow (szAppName szAppName
WS_OVERLAPPEDWINDOW CW_USEDEFAULT CW_USEDEFAULT CW_USEDEFAULT
CW_USEDEFAULT HWND_DESKTOP NULL hInstance NULL);
ShowWindow (hwnd nCmdShow);
UpdateWindow (hwnd);
while (GetMessage (&msg NULL 0 0)) {
TranslateMessage (&msg);
DispatchMessage (&msg);
}
return msg.wParam;
}
/////////////////////////////////////////////////////////////////////////////
// Window procedure
LRESULT CALLBACK WndProc (HWND hwnd UINT msg WPARAM wParam LPARAM lParam)
{
HDC hdc;
PAINTSTRUCT ps;
UINT nColors;
DIBSECTION ds;
switch (msg)
{
case WM_CREATE:
InitCommonControls ();
return 0;
case WM_PAI
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-12-31 20:05 24to8Colors\
文件 307 2011-12-13 17:23 24to8Colors\About.txt
文件 55720 2011-12-31 20:05 24to8Colors\Colors.aps
文件 23938 2011-12-12 09:30 24to8Colors\Colors.c
文件 3627 2011-12-07 16:26 24to8Colors\Colors.dsp
文件 537 2011-12-07 16:26 24to8Colors\Colors.dsw
文件 1076 2011-12-07 14:26 24to8Colors\Colors.h
文件 50176 2011-12-31 20:05 24to8Colors\Colors.ncb
文件 136704 2011-12-31 20:05 24to8Colors\Colors.opt
文件 1472 2011-12-13 17:27 24to8Colors\Colors.plg
文件 3081 2011-12-07 15:12 24to8Colors\Colors.rc
文件 532554 2011-12-06 14:49 24to8Colors\Eye.bmp
文件 921656 2005-04-26 09:46 24to8Colors\Inside.bmp
文件 320374 2011-11-03 14:23 24to8Colors\Protell.bmp
文件 453 2011-12-07 15:12 24to8Colors\resource.h
文件 648054 2011-12-06 15:25 24to8Colors\Siemens.bmp
文件 458382 2002-09-02 18:08 24to8Colors\Start.bmp
目录 0 2011-12-31 20:05 24to8Colors\VC60\
文件 2591 2011-12-14 08:51 24to8Colors\VC60\LeftView.cpp
文件 1780 2011-12-14 08:55 24to8Colors\VC60\LeftView.h
文件 6015 2011-12-13 17:07 24to8Colors\VC60\MainFrm.cpp
文件 2048 2011-12-08 17:16 24to8Colors\VC60\MainFrm.h
文件 2085 2011-12-13 16:45 24to8Colors\VC60\MiddleView.cpp
文件 1718 2011-12-14 08:55 24to8Colors\VC60\MiddleView.h
文件 4263 2011-12-07 16:39 24to8Colors\VC60\ReadMe.txt
目录 0 2011-12-31 20:05 24to8Colors\VC60\res\
文件 637 2011-12-14 11:03 24to8Colors\VC60\Resource.h
文件 598 2011-12-16 15:17 24to8Colors\VC60\res\Toolbar.bmp
文件 1078 2011-12-07 16:39 24to8Colors\VC60\res\VC60.ico
文件 396 2011-12-07 16:39 24to8Colors\VC60\res\VC60.rc2
文件 1078 2011-12-07 16:39 24to8Colors\VC60\res\VC60Doc.ico
............此处省略26个文件信息
评论
共有 条评论