From 4f5be3176c149c23758770e2869df0863acbe0a4 Mon Sep 17 00:00:00 2001 From: "Elen.Subbotina" Date: Tue, 7 Apr 2015 14:49:14 +0000 Subject: [PATCH] ..... git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@61939 954022d7-b5bf-4e40-9824-e11837661b57 --- DesktopEditor/raster/BgraFrame.cpp | 314 --------- DesktopEditor/raster/BgraFrame.h | 90 --- .../raster/ImageFileFormatChecker.cpp | 530 -------------- DesktopEditor/raster/ImageFileFormatChecker.h | 82 --- DesktopEditor/raster/raster.sln | 26 - DesktopEditor/raster/raster.vcproj | 655 ------------------ DesktopEditor/raster/raster_vs2005.vcproj | 654 ----------------- 7 files changed, 2351 deletions(-) delete mode 100644 DesktopEditor/raster/BgraFrame.cpp delete mode 100644 DesktopEditor/raster/BgraFrame.h delete mode 100644 DesktopEditor/raster/ImageFileFormatChecker.cpp delete mode 100644 DesktopEditor/raster/ImageFileFormatChecker.h delete mode 100644 DesktopEditor/raster/raster.sln delete mode 100644 DesktopEditor/raster/raster.vcproj delete mode 100644 DesktopEditor/raster/raster_vs2005.vcproj diff --git a/DesktopEditor/raster/BgraFrame.cpp b/DesktopEditor/raster/BgraFrame.cpp deleted file mode 100644 index b4af3449d8..0000000000 --- a/DesktopEditor/raster/BgraFrame.cpp +++ /dev/null @@ -1,314 +0,0 @@ -#include "BgraFrame.h" -#include "../common/File.h" -#include "../cximage/CxImage/ximage.h" - -bool CBgraFrame::OpenFile(const std::wstring& strFileName) -{ - NSFile::CFileBinary oFile; - if (!oFile.OpenFile(strFileName)) - return false; - - CxImage img; - - if( !img.Decode( oFile.GetFileNative(), 0 ) ) - return false; - - CxImageToMediaFrame( img ); - return true; -} - -bool CBgraFrame::SaveFile(const std::wstring& strFileName, unsigned int nFileType) -{ - NSFile::CFileBinary oFile; - if (!oFile.CreateFileW(strFileName)) - return false; - - uint32_t lStride = 4 * m_lWidth; - uint32_t lBitsPerPixel = 4; - if (0 != m_lStride) - { - lStride = (m_lStride > 0) ? (uint32_t)m_lStride : (uint32_t)(-m_lStride); - lBitsPerPixel = lStride / m_lWidth; - } - - CxImage img; - if (!img.CreateFromArray(m_pData, m_lWidth, m_lHeight, lBitsPerPixel * 8, lStride, (m_lStride >= 0) ? true : false)) - return false; - - if (!img.Encode( oFile.GetFileNative(), nFileType )) - return false; - - oFile.CloseFile(); - return true; -} -bool CBgraFrame::Resize(const long& nNewWidth, const long& nNewHeight) -{ - CxImage img; - if (!img.CreateFromArray(m_pData, m_lWidth, m_lHeight, 32, 4 * m_lWidth, (m_lStride >= 0) ? true : false)) - return false; - - CxImage imgDst; - if (!img.Resample( nNewWidth, nNewHeight, 2/*bicubic spline interpolation*/, &imgDst )) - return false; - - CxImageToMediaFrame( imgDst ); - return true; -} - -void CBgraFrame::CxImageToMediaFrame( CxImage& img ) -{ - if( !img.IsValid() ) - return; - - int nWidth = img.GetWidth(); - int nHeight = img.GetHeight(); - - m_pData = new BYTE[4 * nWidth * nHeight]; - - if (!m_pData) - return; - - m_lWidth = nWidth; - m_lHeight = nHeight; - m_lStride = -4 * nWidth; - - BYTE* pPixels = m_pData; - - int nBitsPerPixel = img.GetBpp(); - int nStride = img.GetEffWidth(); - BYTE* pBuffer = img.GetBits(); - RGBQUAD* pPalette = img.GetPalette(); - bool bIsAlphaPalettePresent = false;//img.GetPaletteAlphaEnabled(); - bool bIsAlphaApplied = false; - - if( 1 == nBitsPerPixel ) - { - RGBQUAD pal[2]; - - if( !pPalette ) - { - for( int i = 0; i < 2; i++ ) - { - int c = i * 255; - pal[i].rgbBlue = c; - pal[i].rgbGreen = c; - pal[i].rgbRed = c; - } - pPalette = pal; - } - - BYTE* src = pBuffer; - BYTE* dst = pPixels; - - for( int nRow = 0; nRow < nHeight; ++nRow, src += nStride ) - { - for( int nPos = 0; nPos < nWidth; ++nPos, dst += 4 ) - { - int index = (src[nPos >> 3] >> (7 - (nPos & 7)) * 1) & 1; - dst[0] = pPalette[index].rgbBlue; - dst[1] = pPalette[index].rgbGreen; - dst[2] = pPalette[index].rgbRed; - } - } - } - else - if( 2 == nBitsPerPixel ) - { - RGBQUAD pal[4]; - - if( !pPalette ) - { - for( int i = 0; i < 4; i++ ) - { - int c = (i * 255 + 2) / 3; - pal[i].rgbBlue = c; - pal[i].rgbGreen = c; - pal[i].rgbRed = c; - } - pPalette = pal; - } - - BYTE* src = pBuffer; - BYTE* dst = pPixels; - - for( int nRow = 0; nRow < nHeight; ++nRow, src += nStride ) - { - for( int nPos = 0; nPos < nWidth; ++nPos, dst += 4 ) - { - int index = (src[nPos >> 2] >> (3 - (nPos & 3)) * 2) & 3; - dst[0] = pPalette[index].rgbBlue; - dst[1] = pPalette[index].rgbGreen; - dst[2] = pPalette[index].rgbRed; - } - } - } - else - if( 4 == nBitsPerPixel ) - { - RGBQUAD pal[16]; - - if( !pPalette ) - { - for( int i = 0; i < 16; i++ ) - { - int c = (i * 255 + 8) / 15; - pal[i].rgbBlue = c; - pal[i].rgbGreen = c; - pal[i].rgbRed = c; - } - pPalette = pal; - } - - BYTE* src = pBuffer; - BYTE* dst = pPixels; - - for( int nRow = 0; nRow < nHeight; ++nRow, src += nStride ) - { - for( int nPos = 0; nPos < nWidth; ++nPos, dst += 4 ) - { - int index = (src[nPos >> 1] >> (1 - (nPos & 1)) * 4) & 15; - dst[0] = pPalette[index].rgbBlue; - dst[1] = pPalette[index].rgbGreen; - dst[2] = pPalette[index].rgbRed; - } - } - } - else - if( 8 == nBitsPerPixel ) - { - BYTE* src = pBuffer; - BYTE* dst = pPixels; - - nStride -= nWidth; - - if( pPalette ) - { - if (bIsAlphaPalettePresent) - { - for( int nRow = 0; nRow < nHeight; ++nRow, src += nStride ) - { - for( int nPos = 0; nPos < nWidth; ++nPos, src += 1, dst += 4 ) - { - int index = src[0]; - dst[0] = pPalette[index].rgbBlue; - dst[1] = pPalette[index].rgbGreen; - dst[2] = pPalette[index].rgbRed; - dst[3] = pPalette[index].rgbReserved; - } - } - bIsAlphaApplied = true; - } - else - { - for( int nRow = 0; nRow < nHeight; ++nRow, src += nStride ) - { - for( int nPos = 0; nPos < nWidth; ++nPos, src += 1, dst += 4 ) - { - int index = src[0]; - dst[0] = pPalette[index].rgbBlue; - dst[1] = pPalette[index].rgbGreen; - dst[2] = pPalette[index].rgbRed; - } - } - } - } - else - { - for( int nRow = 0; nRow < nHeight; ++nRow, src += nStride ) - { - for( int nPos = 0; nPos < nWidth; ++nPos, src += 1, dst += 4 ) - { - int index = src[0]; - dst[0] = index; - dst[1] = index; - dst[2] = index; - } - } - } - } - else if( 24 == nBitsPerPixel ) - { - BYTE* src = pBuffer; - BYTE* dst = pPixels; - - nStride -= nWidth * 3; - - for( int nRow = 0; nRow < nHeight; ++nRow, src += nStride ) - { - for( int nPos = 0; nPos < nWidth; ++nPos, src += 3, dst += 4 ) - { - dst[0] = src[0]; - dst[1] = src[1]; - dst[2] = src[2]; - } - } - } - else if( 32 == nBitsPerPixel ) - { - BYTE* src = pBuffer; - BYTE* dst = pPixels; - - nStride -= nWidth * 4; - - for( int nRow = 0; nRow < nHeight; ++nRow, src += nStride ) - { - for( int nPos = 0; nPos < nWidth; ++nPos, src += 4, dst += 4 ) - { - dst[0] = src[0]; - dst[1] = src[1]; - dst[2] = src[2]; - } - } - } - else - { - Destroy(); - return; - } - - if( img.AlphaIsValid() ) - { - BYTE* pAlpha = img.AlphaGetPointer(); - DWORD nMaxAlpha = img.AlphaGetMax(); - - if( 255 == nMaxAlpha ) - { - BYTE* src = pAlpha; - BYTE* dst = pPixels; - int nSize = nWidth * nHeight; - - for( int i = 0; i < nSize; ++i, ++src, dst += 4 ) - { - dst[3] = src[0]; - } - } - else - { - BYTE table[256]; - for( DWORD i = 0; i < 256; ++i ) - { - DWORD a = (i * 255 + nMaxAlpha / 2) / nMaxAlpha; - table[i] = (a > 255) ? 255 : a; - } - - BYTE* src = pAlpha; - BYTE* dst = pPixels; - int nSize = nWidth * nHeight; - - for( int i = 0; i < nSize; ++i, ++src, dst += 4 ) - { - dst[3] = table[src[0]]; - } - } - } - else if (!bIsAlphaApplied) - { - BYTE* dst = pPixels; - int nSize = nWidth * nHeight; - - for( int i = 0; i < nSize; ++i, dst += 4 ) - { - dst[3] = 255; - } - } -} diff --git a/DesktopEditor/raster/BgraFrame.h b/DesktopEditor/raster/BgraFrame.h deleted file mode 100644 index 2b2bdbfa89..0000000000 --- a/DesktopEditor/raster/BgraFrame.h +++ /dev/null @@ -1,90 +0,0 @@ -п»ї#ifndef _BUILD_BGRA_FRAME_ -#define _BUILD_BGRA_FRAME_ - -#include -#include "../common/Types.h" - -class CxImage; -class CBgraFrame -{ -private: - int m_lWidth; - int m_lHeight; - int m_lStride; - - BYTE* m_pData; - -public: - CBgraFrame() - { - Clear(); - } - ~CBgraFrame() - { - Destroy(); - } - -private: - inline void Destroy() - { - if (NULL != m_pData) - delete []m_pData; - - Clear(); - } - inline void Clear() - { - m_lWidth = 0; - m_lHeight = 0; - m_lStride = 0; - m_pData = NULL; - } - -public: - inline void ClearNoAttack() - { - Clear(); - } - inline int get_Width() - { - return m_lWidth; - } - inline int get_Height() - { - return m_lHeight; - } - inline void put_Width(const int& lWidth) - { - m_lWidth = lWidth; - } - inline void put_Height(const int& lHeight) - { - m_lHeight = lHeight; - } - inline int get_Stride() - { - return m_lStride; - } - inline void put_Stride(const int& lStride) - { - m_lStride = lStride; - } - inline BYTE* get_Data() - { - return m_pData; - } - inline void put_Data(BYTE* pData) - { - m_pData = pData; - } - -public: - bool OpenFile(const std::wstring& strFileName); - bool SaveFile(const std::wstring& strFileName, unsigned int nFileType); - bool Resize(const long& nNewWidth, const long& nNewHeight); -private: - - void CxImageToMediaFrame( CxImage& img ); -}; - -#endif diff --git a/DesktopEditor/raster/ImageFileFormatChecker.cpp b/DesktopEditor/raster/ImageFileFormatChecker.cpp deleted file mode 100644 index 543c3e7004..0000000000 --- a/DesktopEditor/raster/ImageFileFormatChecker.cpp +++ /dev/null @@ -1,530 +0,0 @@ -#include "ImageFileFormatChecker.h" -#include "../common/File.h" - -#include "../cximage/CxImage/ximacfg.h" - - -#define MIN_SIZE_BUFFER 4096 -#define MAX_SIZE_BUFFER 102400 - -typedef struct ___tagBITMAPINFOHEADER { - DWORD biSize; - LONG biWidth; - LONG biHeight; - WORD biPlanes; - WORD biBitCount; - DWORD biCompression; - DWORD biSizeImage; - LONG biXPelsPerMeter; - LONG biYPelsPerMeter; - DWORD biClrUsed; - DWORD biClrImportant; -} ___BITMAPINFOHEADER; - -//bmp ( http://ru.wikipedia.org/wiki/BMP ) -bool CImageFileFormatChecker::isBmpFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType) - return false; - - if ( (34 <= dwBytes) && (0x42 == pBuffer[0]) && (0x4D == pBuffer[1]) && - (0x00 == pBuffer[6]) && (0x00 == pBuffer[7]) && (0x01 == pBuffer[26]) && (0x00 == pBuffer[27]) && - ( (0x00 == pBuffer[28]) || (0x01 == pBuffer[28]) || (0x04 == pBuffer[28]) || (0x08 == pBuffer[28]) || - (0x10 == pBuffer[28]) || (0x18 == pBuffer[28]) || (0x20 == pBuffer[28]) ) && (0x00 == pBuffer[29]) && - ( (0x00 == pBuffer[30]) || (0x01 == pBuffer[30]) || (0x02 == pBuffer[30]) || (0x03 == pBuffer[30]) || - (0x04 == pBuffer[30]) || (0x05 == pBuffer[30]) ) && (0x00 == pBuffer[31]) && (0x00 == pBuffer[32]) && (0x00 == pBuffer[33]) ) - return true; - - return false; -} -//png Hex: 89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 -bool CImageFileFormatChecker::isPngFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType) - return false; - - if ( (16 <= dwBytes) && (0x89 == pBuffer[0]) && (0x50 == pBuffer[1]) && (0x4E == pBuffer[2]) && (0x47 == pBuffer[3]) - && (0x0D == pBuffer[4]) && (0x0A == pBuffer[5]) && (0x1A == pBuffer[6]) && (0x0A == pBuffer[7]) - && (0x00 == pBuffer[8]) && (0x00 == pBuffer[9]) && (0x00 == pBuffer[10]) && (0x0D == pBuffer[11]) - && (0x49 == pBuffer[12]) && (0x48 == pBuffer[13]) && (0x44 == pBuffer[14]) && (0x52 == pBuffer[15])) - return true; - - return false; -} -//gif Hex: 47 49 46 38 //or Hex: 47 49 46 38 37 61 //or Hex: 47 49 46 38 39 61 -bool CImageFileFormatChecker::isGifFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType) - return false; - - if ( (4 <= dwBytes) && (0 == strncmp( (char *)pBuffer, "GIF8", 4))) - return true; - if ( (6 <= dwBytes) && ( (0 == strncmp( (char *)pBuffer, "GIF87a", 6)) || (0 == strncmp((char *)pBuffer, "GIF89a", 6)) ) ) - return true; - - return false; -} -//tiff //Hex big endian: 4D 4D 00 2A //Hex little endian: 49 49 2A 00 -bool CImageFileFormatChecker::isTiffFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType) - return false; - - if ((dwBytes >=4) && ( (0x49 == pBuffer[0]) && (0x49 == pBuffer[1]) && (0x2A == pBuffer[2]) && (0x00 == pBuffer[3]) ) || - ( (0x4D == pBuffer[0]) && (0x4D == pBuffer[1]) && (0x00 == pBuffer[2]) && (0x2A == pBuffer[3]) ) || - ( (0x49 == pBuffer[0]) && (0x49 == pBuffer[1]) && (0x2A == pBuffer[2]) && (0x00 == pBuffer[3]) )) - return true; - - return false; -} -//wmf - Hex: D7 CD C6 9A 00 00 //or Hex: 01 00 09 00 00 03 -bool CImageFileFormatChecker::isWmfFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType) - return false; - - if ((dwBytes >=6) && ((0xD7 == pBuffer[0]) && (0xCD == pBuffer[1]) && (0xC6 == pBuffer[2]) && (0x9A == pBuffer[3])&& (0x00 == pBuffer[4]) && (0x00 == pBuffer[5]) ) || - ((0x01 == pBuffer[0]) && (0x00 == pBuffer[1]) && (0x09 == pBuffer[2]) && (0x00 == pBuffer[3]) && (0x00 == pBuffer[4]) && (0x03 == pBuffer[5]) )) - return true; - - return false; -} -//emf ( http://wvware.sourceforge.net/caolan/ora-wmf.html ) -bool CImageFileFormatChecker::isEmfFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType) - return false; - - if ( (44 <= dwBytes) && (0x01 == pBuffer[0]) && (0x00 == pBuffer[1]) && (0x00 == pBuffer[2]) && (0x00 == pBuffer[3]) && - (0x20 == pBuffer[40]) && (0x45 == pBuffer[41]) && (0x4D == pBuffer[42]) && (0x46 == pBuffer[43]) ) - return true; - - return false; -} -//pcx ( http://www.fileformat.info/format/pcx/corion.htm ) -bool CImageFileFormatChecker::isPcxFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType) - return false; - - if ( (4 <= dwBytes) && (0x0A == pBuffer[0]) && (0x00 == pBuffer[1] || 0x01 == pBuffer[1] || - 0x02 == pBuffer[1] || 0x03 == pBuffer[1] || 0x04 == pBuffer[1] || 0x05 == pBuffer[1] ) && - ( 0x01 == pBuffer[3] || 0x02 == pBuffer[3] || 0x04 == pBuffer[3] || 0x08 == pBuffer[3] )) - return true; - - return false; -} -//tga ( http://www.fileformat.info/format/tga/corion.htm ) -bool CImageFileFormatChecker::isTgaFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (17 <= dwBytes) && ( (0x01 == pBuffer[1] && 0x01 == pBuffer[2]) || (0x00 == pBuffer[1] && 0x02 == pBuffer[2]) || - (0x00 == pBuffer[1] && 0x03 == pBuffer[2]) || (0x01 == pBuffer[1] && 0x09 == pBuffer[2]) || - (0x00 == pBuffer[1] && 0x0A == pBuffer[2]) || (0x00 == pBuffer[1] && 0x0B == pBuffer[2]) ) - && ( 0x08 == pBuffer[16] || 0x10 == pBuffer[16] || 0x18 == pBuffer[16] || 0x20 == pBuffer[16] )) - return true; - - return false; -} -//jpeg Hex: FF D8 FF -bool CImageFileFormatChecker::isJpgFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (3 <= dwBytes) && (0xFF == pBuffer[0]) && (0xD8 == pBuffer[1]) && (0xFF == pBuffer[2]) ) - return true; - - return false; -} -//webshot -bool CImageFileFormatChecker::isWbzFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - return false; -} -bool CImageFileFormatChecker::isWbcFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - return false; -} -//webshot(wb ver 1) HEX 57 57 42 42 31 31 31 31 -//webshot (wb ver 2) HEX 00 00 02 00 02 10 c9 00 02 00 c8 06 4c 00 02 00 -bool CImageFileFormatChecker::isWbFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (8 <= dwBytes) && (0x57 == pBuffer[0] && 0x57 == pBuffer[1] && 0x42 == pBuffer[2] && 0x42 == pBuffer[3] - && 0x31 == pBuffer[4] && 0x31 == pBuffer[5] && 0x31 == pBuffer[6] && 0x31 == pBuffer[7])) - return true; - - if ( (16 <= dwBytes) && (0x00 == pBuffer[0] && 0x00 == pBuffer[1] && 0x02 == pBuffer[2] && 0x00 == pBuffer[3] - && 0x02 == pBuffer[4] && 0x10 == pBuffer[5] && 0xc9 == pBuffer[6] && 0x00 == pBuffer[7] - && 0x02 == pBuffer[8] && 0x00 == pBuffer[9] && 0xc8 == pBuffer[10] && 0x06 == pBuffer[11] - && 0x4c == pBuffer[12] && 0x00 == pBuffer[13] && 0x02 == pBuffer[14] && 0x00 == pBuffer[15])) - return true; - - return false; -} -//ico http://en.wikipedia.org/wiki/ICO_(file_format) -bool CImageFileFormatChecker::isIcoFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (16 <= dwBytes) && (0x00 == pBuffer[0] && 0x00 == pBuffer[1])) - { - long width = pBuffer [6]; - long height = pBuffer [7]; - - if (width==0)width =256; - if (height==0)height =256; - - DWORD offset_image = *(DWORD*)(pBuffer+18); - - if (offset_image < dwBytes-40) - { - ___BITMAPINFOHEADER *image_header=0;//bmp or png - image_header = (___BITMAPINFOHEADER *)(pBuffer + offset_image); - - if (width == image_header->biWidth - /*height == image_header->biHeight*/) // в хеадере может быть черестрочная высота - return true; - } - } - - return false; -} -//http://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_19840 -bool CImageFileFormatChecker::isPsdFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (12 <= dwBytes) && (0x38 == pBuffer[0] && 0x42 == pBuffer[1] && 0x50 == pBuffer[2] && 0x53 == pBuffer[3] - && 0x00 == pBuffer[6] && 0x00 == pBuffer[7] && 0x18 == pBuffer[8] - && 0x00 == pBuffer[9] && 0x00 == pBuffer[10] && 0x18 == pBuffer[11])) - return true; - - return false; -} -// http://en.wikipedia.org/wiki/Raster_graphics -bool CImageFileFormatChecker::isRasFile(BYTE* pBuffer,DWORD dwBytes)//sun image -{ - if (eFileType)return false; - - if ( (16 <= dwBytes) && (0x59 == pBuffer[0] && 0xa6 == pBuffer[1] && 0x6a == pBuffer[2] && 0x95 == pBuffer[3] - && 0x00 == pBuffer[4] && 0x00 == pBuffer[5] && 0x18 == pBuffer[15])) - return true; - - return false; -} -//http://www.atari-portfolio.co.uk/library/text/pgxspec.txt -bool CImageFileFormatChecker::isPgxFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (8 <= dwBytes) && ('P' == pBuffer[0] && 'G' == pBuffer[1] && 'X' == pBuffer[2] - && 0x00 == pBuffer[4] && 0x00 == pBuffer[5] && 0x00 == pBuffer[6] && 0x00 == pBuffer[7])) - return true; - - return false; -} -//flash -bool CImageFileFormatChecker::isSwfFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ((10 <= dwBytes) && ((0x46 == pBuffer[0] && 0x57 == pBuffer[1] && 0x53 == pBuffer[2] && 0x00 == pBuffer[9]) - || (0x43 == pBuffer[0] && 0x57 == pBuffer[1] && 0x53 == pBuffer[2] && 0x78 == pBuffer[8] && 0x9c == pBuffer[9]))) - return true; - - return false; -} -//http://en.wikipedia.org/wiki/Seattle_FilmWorks -bool CImageFileFormatChecker::isSfwFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (44 <= dwBytes) &&(0x53 == pBuffer[0] && 0x46 == pBuffer[1] && 0x57 == pBuffer[2] && 0x39 == pBuffer[3] - && 0x34 == pBuffer[4] && 0x41 == pBuffer[5] && 0x004 == pBuffer[6] && 0x00 == pBuffer[7] - - && 0x10 == pBuffer[8] && 0x00 == pBuffer[9] && 0x01 == pBuffer[10] && 0x00 == pBuffer[11] - && 0x64 == pBuffer[12] && 0x00 == pBuffer[13] && 0x00 == pBuffer[14] && 0x00 == pBuffer[15] - - && 0xcc == pBuffer[16] && 0x00 == pBuffer[17] && 0x00 == pBuffer[18] && 0x00 == pBuffer[19] - && 0x3b == pBuffer[20] && 0x00 == pBuffer[21] && 0x00 == pBuffer[22] && 0x00 == pBuffer[23] - - && 0xda == pBuffer[24] && 0x07 == pBuffer[25] && 0x00 == pBuffer[26] && 0x00 == pBuffer[27] - && 0x07 == pBuffer[28] && 0x01 == pBuffer[29] && 0x00 == pBuffer[30] && 0x00 == pBuffer[31] - - && 0x44 == pBuffer[32] && 0x00 == pBuffer[33] && 0x00 == pBuffer[34] && 0x00 == pBuffer[35] - && 0xd0 == pBuffer[36] && 0x07 == pBuffer[37] && 0x00 == pBuffer[38] && 0x00 == pBuffer[39] - - && 0x4b == pBuffer[40] && 0x01 == pBuffer[41] && 0x00 == pBuffer[42] && 0x00 == pBuffer[43])) - return true; - - return false; -} -//open office - StarView Meta File -bool CImageFileFormatChecker::isSvmFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (48 <= dwBytes) &&(0x56 == pBuffer[0] && 0x43 == pBuffer[1] && 0x4c == pBuffer[2] && 0x4d == pBuffer[3] - && 0x54 == pBuffer[4] && 0x46 == pBuffer[5] && 0x01 == pBuffer[6] && 0x00 == pBuffer[7] - - && 0x31 == pBuffer[8] && 0x00 == pBuffer[9] && 0x00 == pBuffer[10] && 0x00 == pBuffer[11] - && 0x01 == pBuffer[12] && 0x00 == pBuffer[13] && 0x00 == pBuffer[14] && 0x00 == pBuffer[15] - - && 0x01 == pBuffer[16] && 0x00 == pBuffer[17] && 0x1b == pBuffer[18] && 0x00 == pBuffer[19] - && 0x00 == pBuffer[20] && 0x00 == pBuffer[21] && 0x00 == pBuffer[22] && 0x00 == pBuffer[23] - - && 0x00 == pBuffer[24] && 0x00 == pBuffer[25] && 0x00 == pBuffer[26] && 0x00 == pBuffer[27] - && 0x00 == pBuffer[28] && 0x00 == pBuffer[29] && 0x00 == pBuffer[30] && 0x00 == pBuffer[31] - - && 0x01 == pBuffer[32] && 0x00 == pBuffer[33] && 0x00 == pBuffer[34] && 0x00 == pBuffer[35] - && 0x01 == pBuffer[36] && 0x00 == pBuffer[37] && 0x00 == pBuffer[38] && 0x00 == pBuffer[39] - - && 0x01 == pBuffer[40] && 0x00 == pBuffer[41] && 0x00 == pBuffer[42] && 0x00 == pBuffer[43] - && 0x01 == pBuffer[44] && 0x00 == pBuffer[45] && 0x00 == pBuffer[46] && 0x00 == pBuffer[47])) - return true; - - return false; -} - - -bool CImageFileFormatChecker::isJ2kFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (52 <= dwBytes) && (0xff == pBuffer[0] && 0x4f == pBuffer[1] && 0xff == pBuffer[2] && 0x51 == pBuffer[3] - //&& 0x00 == pBuffer[4] && 0x2f == pBuffer[5] && 0x00 == pBuffer[6] && 0x00 == pBuffer[7] - //.. - //&& 0x00 == pBuffer[16] && 0x00 == pBuffer[17] && 0x00 == pBuffer[18] && 0x00 == pBuffer[19] - //&& 0x00 == pBuffer[20] && 0x00 == pBuffer[21] && 0x00 == pBuffer[22] && 0x00 == pBuffer[23] - //.. - // && 0x00 == pBuffer[32] && 0x00 == pBuffer[33] && 0x00 == pBuffer[34] && 0x00 == pBuffer[35] - // && 0x00 == pBuffer[36] && 0x00 == pBuffer[37] && 0x00 == pBuffer[38] && 0x00 == pBuffer[39] - - // && 0x00 == pBuffer[40] && 0x03 == pBuffer[41] && 0x07 == pBuffer[42] && 0x01 == pBuffer[43] - // && 0x01 == pBuffer[44] && 0x07 == pBuffer[45] && 0x01 == pBuffer[46] && 0x01 == pBuffer[47] - - // && 0x07 == pBuffer[48] && 0x01 == pBuffer[49] && 0x01 == pBuffer[50] && 0xff == pBuffer[51] - )) - return true; - - return false; -} - -bool CImageFileFormatChecker::isJp2File(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (32 <= dwBytes) &&(0x00 == pBuffer[0] && 0x00 == pBuffer[1] && 0x00 == pBuffer[2] && 0x0c == pBuffer[3] - && 0x6a == pBuffer[4] && 0x50 == pBuffer[5] && 0x20 == pBuffer[6] && 0x20 == pBuffer[7] - - && 0x0d == pBuffer[8] && 0x0a == pBuffer[9] && 0x87 == pBuffer[10] && 0x0a == pBuffer[11] - && 0x00 == pBuffer[12] && 0x00 == pBuffer[13] && 0x00 == pBuffer[14]/* && (0x14 == pBuffer[15] || 0x18 == pBuffer[15] )*/ - - && 0x66 == pBuffer[16] && 0x74 == pBuffer[17] && 0x79 == pBuffer[18] && 0x70 == pBuffer[19] - && 0x6a == pBuffer[20] && 0x70 == pBuffer[21] && 0x32 == pBuffer[22] && 0x20 == pBuffer[23] - - && 0x00 == pBuffer[24] && 0x00 == pBuffer[25] && 0x00 == pBuffer[26] && 0x00 == pBuffer[27] - /*&& 0x6a == pBuffer[28] && 0x70 == pBuffer[29] && 0x32 == pBuffer[30] && 0x20 == pBuffer[31]*/)) - return true; - - return false; -} -bool CImageFileFormatChecker::isMj2File(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - if ( (32 <= dwBytes) &&(0x00 == pBuffer[0] && 0x00 == pBuffer[1] && 0x00 == pBuffer[2] && 0x0c == pBuffer[3] - && 0x6a == pBuffer[4] && 0x50 == pBuffer[5] && 0x20 == pBuffer[6] && 0x20 == pBuffer[7] - - && 0x0d == pBuffer[8] && 0x0a == pBuffer[9] && 0x87 == pBuffer[10] && 0x0a == pBuffer[11] - && 0x00 == pBuffer[12] && 0x00 == pBuffer[13] && 0x00 == pBuffer[14] && 0x18 == pBuffer[15] - - && 0x66 == pBuffer[16] && 0x74 == pBuffer[17] && 0x79 == pBuffer[18] && 0x70 == pBuffer[19] - && 0x6d == pBuffer[20] && 0x6a == pBuffer[21] && 0x70 == pBuffer[22] && 0x32 == pBuffer[23] - - && 0x00 == pBuffer[24] && 0x00 == pBuffer[25] && 0x00 == pBuffer[26] && 0x00 == pBuffer[27] - && 0x6d == pBuffer[28] && 0x6a == pBuffer[29] && 0x70 == pBuffer[30] && 0x32 == pBuffer[31])) - return true; - - return false; -} -bool CImageFileFormatChecker::isIpodFile(BYTE* pBuffer,DWORD dwBytes) -{ - if (eFileType)return false; - - return false; -} -////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -bool CImageFileFormatChecker::isImageFile(std::wstring& fileName) -{ - eFileType = _CXIMAGE_FORMAT_UNKNOWN; -/////////////////////////////////////////////////////////////////////////////// - NSFile::CFileBinary file; - if (!file.OpenFile(fileName)) - return false; - - BYTE* buffer = new BYTE[MIN_SIZE_BUFFER]; - if (!buffer) - return false; - - DWORD sizeRead = 0; - if (!file.ReadFile(buffer, MIN_SIZE_BUFFER, sizeRead)) - { - delete []buffer; - return false; - } - file.CloseFile(); -///////////////////////////////////////////////////////////////////////////////// - if (isBmpFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_BMP; - } - if (isGifFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_GIF; - } - if (isPngFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_PNG; - } - if (isTgaFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_TGA; - } - if (isPcxFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_PCX; - } - if (isJpgFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_JPG; - } - if (isEmfFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_EMF; - } - if (isWmfFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_WMF; - } - if (isTiffFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_TIF; - } - if (isIcoFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_ICO; - } - if (isWbFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_WB; - } - if (isPsdFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_PSD; - } - if (isRasFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_RAS; - } - - if (isIpodFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - } - if (isJ2kFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_JP2; - } - if (isJp2File(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_JP2; - } - if (isMj2File(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_JP2; - } - if (isSfwFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - } - if (isSvmFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - } - if (isSwfFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - } - if (isWbcFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - } - if (isWbzFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - } -/////////////////////////////////////////////////////////////////////// - if (isSvgFile(fileName)) - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - } - if (isRawFile(fileName)) - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - } -/////////////////////////////////////////////////////////////////////// - delete [] buffer; - - if (eFileType)return true; - return false; -} -bool CImageFileFormatChecker::isPngFile(std::wstring & fileName) -{ - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - //////////////////////////////////////////////////////////////////////////////// - NSFile::CFileBinary file; - if (!file.OpenFile(fileName)) - return false; - - BYTE* buffer = new BYTE[MIN_SIZE_BUFFER]; - if (!buffer) - return false; - - DWORD sizeRead = 0; - if (!file.ReadFile(buffer, MIN_SIZE_BUFFER, sizeRead)) - { - delete []buffer; - return false; - } - file.CloseFile(); - //////////////////////////////////////////////////////////////////////////////// - - if (isPngFile(buffer,sizeRead)) - { - eFileType = _CXIMAGE_FORMAT_PNG; - } - delete [] buffer; - - if (eFileType)return true; - else return false; - -} - -bool CImageFileFormatChecker::isRawFile(std::wstring& fileName) -{ - // TODO: - return false; -} -bool CImageFileFormatChecker::isSvgFile(std::wstring& fileName) -{ - //TODO: - return false; -} diff --git a/DesktopEditor/raster/ImageFileFormatChecker.h b/DesktopEditor/raster/ImageFileFormatChecker.h deleted file mode 100644 index f75446145c..0000000000 --- a/DesktopEditor/raster/ImageFileFormatChecker.h +++ /dev/null @@ -1,82 +0,0 @@ -#ifndef _BUILD_IMAGE_FILE_CHECKER_ -#define _BUILD_IMAGE_FILE_CHECKER_ - -#include -#include "../common/Types.h" - -enum __ENUM_CXIMAGE_FORMATS { -_CXIMAGE_FORMAT_UNKNOWN = 0, -_CXIMAGE_FORMAT_BMP = 1, -_CXIMAGE_FORMAT_GIF = 2, -_CXIMAGE_FORMAT_JPG = 3, -_CXIMAGE_FORMAT_PNG = 4, -_CXIMAGE_FORMAT_ICO = 5, -_CXIMAGE_FORMAT_TIF = 6, -_CXIMAGE_FORMAT_TGA = 7, -_CXIMAGE_FORMAT_PCX = 8, -_CXIMAGE_FORMAT_WBMP = 9, -_CXIMAGE_FORMAT_WMF = 10, -_CXIMAGE_FORMAT_JP2 = 11, -_CXIMAGE_FORMAT_JPC = 12, -_CXIMAGE_FORMAT_PGX = 13, -_CXIMAGE_FORMAT_PNM = 14, -_CXIMAGE_FORMAT_RAS = 15, -_CXIMAGE_FORMAT_JBG = 16, -_CXIMAGE_FORMAT_MNG = 17, -_CXIMAGE_FORMAT_SKA = 18, -_CXIMAGE_FORMAT_RAW = 19, -_CXIMAGE_FORMAT_PSD = 20, -_CXIMAGE_FORMAT_EMF = 21, -_CXIMAGE_FORMAT_WB = 22, -}; - -class CImageFileFormatChecker -{ -public: - __ENUM_CXIMAGE_FORMATS eFileType; - - CImageFileFormatChecker() - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - } - CImageFileFormatChecker(std::wstring sFileName) - { - eFileType = _CXIMAGE_FORMAT_UNKNOWN; - isImageFile(sFileName); - } - - bool isImageFile(std::wstring& fileName); - bool isPngFile(std::wstring& fileName); - -private: - - bool isRawFile(std::wstring& fileName); - bool isSvgFile(std::wstring& fileName); - - bool isBmpFile(BYTE* pBuffer,DWORD dwBytes); - bool isGifFile(BYTE* pBuffer,DWORD dwBytes); - bool isPngFile(BYTE* pBuffer,DWORD dwBytes); - bool isEmfFile(BYTE* pBuffer,DWORD dwBytes); - bool isWmfFile(BYTE* pBuffer,DWORD dwBytes); - bool isTgaFile(BYTE* pBuffer,DWORD dwBytes); - bool isPcxFile(BYTE* pBuffer,DWORD dwBytes); - bool isTiffFile(BYTE* pBuffer,DWORD dwBytes); - bool isJpgFile(BYTE* pBuffer,DWORD dwBytes); - bool isWbFile(BYTE* pBuffer,DWORD dwBytes); - - bool isIcoFile(BYTE* pBuffer,DWORD dwBytes); - bool isRasFile(BYTE* pBuffer,DWORD dwBytes); - bool isPsdFile(BYTE* pBuffer,DWORD dwBytes); - bool isSvmFile(BYTE* pBuffer,DWORD dwBytes); - bool isSwfFile(BYTE* pBuffer,DWORD dwBytes); - bool isSfwFile(BYTE* pBuffer,DWORD dwBytes); - bool isWbcFile(BYTE* pBuffer,DWORD dwBytes); - bool isWbzFile(BYTE* pBuffer,DWORD dwBytes); - bool isJ2kFile(BYTE* pBuffer,DWORD dwBytes); - bool isJp2File(BYTE* pBuffer,DWORD dwBytes); - bool isMj2File(BYTE* pBuffer,DWORD dwBytes); - bool isIpodFile(BYTE* pBuffer,DWORD dwBytes); - bool isPgxFile(BYTE* pBuffer,DWORD dwBytes); -}; - -#endif //_BUILD_IMAGE_FILE_CHECKER_ diff --git a/DesktopEditor/raster/raster.sln b/DesktopEditor/raster/raster.sln deleted file mode 100644 index 5c2a2d6a7e..0000000000 --- a/DesktopEditor/raster/raster.sln +++ /dev/null @@ -1,26 +0,0 @@ -п»ї -Microsoft Visual Studio Solution File, Format Version 10.00 -# Visual C++ Express 2008 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "raster", "raster.vcproj", "{C739151F-5384-41DF-A1A6-F089E2C1AD56}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Debug|x64 = Debug|x64 - Release|Win32 = Release|Win32 - Release|x64 = Release|x64 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|Win32.ActiveCfg = Debug|Win32 - {C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|Win32.Build.0 = Debug|Win32 - {C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|x64.ActiveCfg = Debug|x64 - {C739151F-5384-41DF-A1A6-F089E2C1AD56}.Debug|x64.Build.0 = Debug|x64 - {C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|Win32.ActiveCfg = Release|Win32 - {C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|Win32.Build.0 = Release|Win32 - {C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|x64.ActiveCfg = Release|x64 - {C739151F-5384-41DF-A1A6-F089E2C1AD56}.Release|x64.Build.0 = Release|x64 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/DesktopEditor/raster/raster.vcproj b/DesktopEditor/raster/raster.vcproj deleted file mode 100644 index e2482e8cc5..0000000000 --- a/DesktopEditor/raster/raster.vcproj +++ /dev/null @@ -1,655 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/DesktopEditor/raster/raster_vs2005.vcproj b/DesktopEditor/raster/raster_vs2005.vcproj deleted file mode 100644 index 4c4d586e19..0000000000 --- a/DesktopEditor/raster/raster_vs2005.vcproj +++ /dev/null @@ -1,654 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -