EgtGraphics 1.8g1 :
- aggiunta gestione immagini (inizialmente solo recupero dimensioni in pixel).
This commit is contained in:
Binary file not shown.
@@ -226,6 +226,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
|
||||
<ClInclude Include="..\Include\EGrScene.h" />
|
||||
<ClInclude Include="DllMain.h" />
|
||||
<ClInclude Include="EGrUtils.h" />
|
||||
<ClInclude Include="ImageMgr.h" />
|
||||
<ClInclude Include="ObjMultiGraphics.h" />
|
||||
<ClInclude Include="SceExecutor.h" />
|
||||
<ClInclude Include="GraphObjs.h" />
|
||||
@@ -240,6 +241,7 @@ copy $(TargetPath) \EgtProg\Dll64</Command>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="EGrDllMain.cpp" />
|
||||
<ClCompile Include="ImageMgr.cpp" />
|
||||
<ClCompile Include="ObjMultiGraphics.cpp" />
|
||||
<ClCompile Include="SceExecutor.cpp" />
|
||||
<ClCompile Include="ObjNewGraphics.cpp" />
|
||||
|
||||
@@ -84,6 +84,9 @@
|
||||
<ClInclude Include="ObjMultiGraphics.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ImageMgr.h">
|
||||
<Filter>File di intestazione</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
@@ -137,6 +140,9 @@
|
||||
<ClCompile Include="SceneImage.cpp">
|
||||
<Filter>File di origine</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ImageMgr.cpp">
|
||||
<Filter>File di origine</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="EgtGraphics.rc">
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2017-2017
|
||||
//----------------------------------------------------------------------------
|
||||
// File : ImageMgr.cpp Data : 05.07.17 Versione : 1.8g1
|
||||
// Contenuto : Implementazione della classe gestione immagini.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 05.07.17 DS Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
//--------------------------- Include ----------------------------------------
|
||||
#include "stdafx.h"
|
||||
#include "ImageMgr.h"
|
||||
#include "DllMain.h"
|
||||
#include "/EgtDev/Include/EGrDllMain.h"
|
||||
#include "/EgtDev/Include/EgtILogger.h"
|
||||
#include "/EgtDev/Include/SELkKeyProc.h"
|
||||
#include "/EgtDev/Include/EgtKeyCodes.h"
|
||||
#include "/EgtDev/Include/EgtStringConverter.h"
|
||||
#include "/EgtDev/Extern/FreeImage/Include/FreeImage.h"
|
||||
|
||||
using namespace std ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
IEgrImageMgr*
|
||||
CreateEgrImageMgr( void)
|
||||
{
|
||||
// verifico la chiave e le opzioni
|
||||
if ( ! TestKeyForEGr( GetEGrKey(), 0, GetEGrLogger()))
|
||||
return false ;
|
||||
// creo l'oggetto
|
||||
return static_cast<IEgrImageMgr*> ( new(nothrow) ImageMgr) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
ImageMgr::ImageMgr( void)
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
ImageMgr::~ImageMgr( void)
|
||||
{
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
ImageMgr::GetImagePixels( const std::string& sFile, int& nPixelX, int& nPixelY)
|
||||
{
|
||||
// deduco il formato dell'immagine dalla sua segnatura o dalla estensione del file
|
||||
FREE_IMAGE_FORMAT nFif = FreeImage_GetFileTypeU( stringtoW( sFile), 0) ;
|
||||
if ( nFif == FIF_UNKNOWN)
|
||||
nFif = FreeImage_GetFIFFromFilenameU( stringtoW( sFile)) ;
|
||||
// se non determinata, esco con errore
|
||||
if ( nFif == FIF_UNKNOWN)
|
||||
return false ;
|
||||
|
||||
// carico l'header e i dati dell'immagine
|
||||
FIBITMAP* pDib = nullptr ;
|
||||
if ( FreeImage_FIFSupportsReading( nFif))
|
||||
pDib = FreeImage_LoadU( nFif, stringtoW( sFile), FIF_LOAD_NOPIXELS) ;
|
||||
if ( pDib == nullptr)
|
||||
return false ;
|
||||
|
||||
// recupero alcuni dati dell'immagine e li verifico
|
||||
nPixelX = FreeImage_GetWidth( pDib) ;
|
||||
nPixelY = FreeImage_GetHeight( pDib) ;
|
||||
|
||||
// libero la memoria
|
||||
FreeImage_Unload( pDib) ;
|
||||
|
||||
return true ;
|
||||
}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
//----------------------------------------------------------------------------
|
||||
// EgalTech 2017-2017
|
||||
//----------------------------------------------------------------------------
|
||||
// File : ImageMgr.h Data : 05.07.17 Versione : 1.8gb1
|
||||
// Contenuto : Dichiarazione della classe gestione immagini.
|
||||
//
|
||||
//
|
||||
//
|
||||
// Modifiche : 05.07.17 DS Creazione modulo.
|
||||
//
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#pragma once
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
#include "/EgtDev/Include/EGrImageMgr.h"
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
class ImageMgr : public IEgrImageMgr
|
||||
{
|
||||
public :
|
||||
~ImageMgr( void) override ;
|
||||
bool GetImagePixels( const std::string& sFile, int& nPixelX, int& nPixelY) override ;
|
||||
|
||||
public :
|
||||
ImageMgr( void) ;
|
||||
} ;
|
||||
Reference in New Issue
Block a user