|
I need a really Easy, Compatible and preferably Lightweight way to load PNG files to a DIB. I also need the alpha channel to be read correctly. So far I've looked at CxImage (rather heavyweight, and discontinued by David Pizzolero), libpng (very difficult to compile or link in MSVC7) and http://www.codeproject.com/bitmap/graphicsuite.asp[^] (but this requires a recent version of IE). Does anyone have any suggestions?
Joel Holdsworth
|
|
|
|
|
if you'll allow me a blatant advertisement, i can recommend my company's own library, ImgSource. it does tons more than just loading PNGs, but the linker will ensure that only the parts you use will get used, so you won't get penalized if you don't use it all. PNG support should add about 100K to your app.
here's a sample:
<br />
HISSRC hSrc = IS3OpenFileSource(filename);<br />
HGLOBAL hDIB = IS3ReadImageToDIB(hSrc,...);<br />
IS3CloseSource(hSrc);<br />
<br />
BITMAPINFOHEADER *pDIB = (BITMAPINFOHEADER *)hDIB;<br />
<br />
...<br />
<br />
GlobalFree(hDIB);<br />
-c
Software | Cleek
|
|
|
|
|
Wow thanks! That could well be my solution
Joel Holdsworth
|
|
|
|
|
has anyone done work in this direction?
you can call c/c++ code from python and there is a version of python for pocket pc.
and i have written a few simple dll's that work from python on pocket pc
the problem is in xml processing - i tried the code at http://www.codeproject.com/soap/ce_xml.asp but as soon as i put the Python wrappers around it and point to the Python include files, i get errors
C:\Windows CE Tools\wce300\Pocket PC 2002\atl\include\atlbase.h(5395) : error C2664: '__WinCE_OutputDebugStringA' : cannot convert parameter 1 from 'const unsigned short *' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Windows CE Tools\wce300\Pocket PC 2002\atl\include\atlbase.h(5396) : error C2664: '__WinCE_OutputDebugStringA' : cannot convert parameter 1 from 'unsigned short [4]' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Windows CE Tools\wce300\Pocket PC 2002\atl\include\atlbase.h(5404) : error C2664: '__WinCE_OutputDebugStringA' : cannot convert parameter 1 from 'unsigned short [100]' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Windows CE Tools\wce300\Pocket PC 2002\atl\include\atlbase.h(5413) : error C2664: '__WinCE_OutputDebugStringA' : cannot convert parameter 1 from 'unsigned short [12]' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Windows CE Tools\wce300\Pocket PC 2002\atl\include\atlbase.h(5414) : error C2664: '__WinCE_OutputDebugStringA' : cannot convert parameter 1 from 'unsigned short [100]' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Windows CE Tools\wce300\Pocket PC 2002\atl\include\atlbase.h(5417) : error C2664: '__WinCE_OutputDebugStringA' : cannot convert parameter 1 from 'unsigned short *' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Windows CE Tools\wce300\Pocket PC 2002\atl\include\atlbase.h(5420) : error C2664: '__WinCE_OutputDebugStringA' : cannot convert parameter 1 from 'unsigned short [10]' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Windows CE Tools\wce300\Pocket PC 2002\atl\include\atlbase.h(5421) : error C2664: '__WinCE_OutputDebugStringA' : cannot convert parameter 1 from 'unsigned short [2]' to 'const char *'
Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
stl_eVC\wce_defs.h(47) : warning C4005: 'assert' : macro redefinition
C:\hons\pocketpc\python_ce_build\Python-2.3.4\PC\WinCE\assert.h(7) : see previous definition of 'assert'
any ideas why or how to get around it.
cheers
|
|
|
|
|
It looks like you need to set things to compile for UNICODE rather than ANSI.
Software Zen: delete this;
|
|
|
|
|
umm and how do i set that?
thanks
|
|
|
|
|
I usually place something like the following lines in my stdafx.h file, before any other definitions or #include 's:
#undef _MBCS
#define UNICODE
#define _UNICODE
#if (!defined(_WINDLL))
#pragma comment(linker,"/entry:\"wWinMainCRTStartup\"")
#endif The #pragma sets the entry point for the application to the UNICODE entry point for the runtime library startup code.
Software Zen: delete this;
|
|
|
|
|
hi!
that didn't work. i actually got a few more warning messages -
C:\hons\pocketpc\ce_xml_src\StdAfx.h(2) : warning C4005: 'UNICODE' : macro redefinition
unknown(0) : see previous definition of 'UNICODE'
C:\hons\pocketpc\ce_xml_src\StdAfx.h(3) : warning C4005: '_UNICODE' : macro redefinition
unknown(0) : see previous definition of '_UNICODE'
thanks
cheers
|
|
|
|
|
Hi all,
I'm looking for a way to be notify "upon" a port(tcp/udp) on my system is being opend like all Firewall softwares.in the other word is there any EVENT or somethings like this to use for this purpose.? By the way how can i get the port number and name of app that have opened this port.
Any help appreciated.
With Best Regards.
|
|
|
|
|
is it possible to have multible colors for one string in a CEdit box
|
|
|
|
|
|
Or you could do it with an Owner Drawn Edit Control.
store your internet favourites online - www.my-faves.co.uk
|
|
|
|
|
is it that easy to do ? me think you need to handle more than the OnPaint ?!
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
|
I'd like to have a application that is both server and client,
if the application starts, it checks if another instance of this
application is running on another server on the same LAN, if so
it should send back some indification message.
So I suppose I've to send a udb-broadcast with the server-part of
the application, the other instance receives this braodcast with
it's own server part and send's back a message to the other instance
with the client part.
Maybe someone can give a link to a source code sample
Thank you
Mario
|
|
|
|
|
Hello !
I want to exchange 2 rows of data between them in a CListCtrl
What is the simplest and fastest way to do this ?
thank you
|
|
|
|
|
To exchange items 3 and 4, simply get item 3's attributes (e.g., subitem values, pointer data), remove item 3 (which would make item 4 the new item 3) and add it back as item 4. Make sense?
"When I was born I was so surprised that I didn't talk for a year and a half." - Gracie Allen
|
|
|
|
|
Hi all ... I've just downloaded the updated DirectX 9 SDK and now I cant compile the samples (capturesound) with my Visual C++ 6. I have the Platform SDK 2003 Feb installed and the problem is, it askes for UNICODE build. If i define UNICODE in the project settings, it gives another error: "__noop not defined". From MSDN, I found out __noop is a microsoft specific C++ intrinsic and my guess is, its not implemented in VC6 compiler. Is there any workaround to this problem for Visual C++ 6? Thanks in advance.
-Tareq
|
|
|
|
|
Hello,
From the DirectX9 readme:
Compiler Support
Developing C++ applications with the DirectX 9.0 Summer Update requires Visual Studio .NET 2002 or later. Visual Studio version 6 is no longer supported. Developing managed applications with the DirectX 9.0 Summer Update requires Visual Studio .NET 2003 and .NET Runtime 1.1. Developing 64-bit applications requires the Microsoft Platform SDK. All DirectX SDK supported 64-bit samples have a corresponding sample_makefile.x64. These makefiles are compatible with AMD64 and Intel64.
You should use the DirectX 8 sdk for development with VC++ 6.
A student knows little about a lot.
A professor knows a lot about little.
I know everything about nothing.
|
|
|
|
|
Thanks for the quick reply... but the old dx9 sdk supported vc6 ... and the old code also compiles great with vc6 ... its just the samples... well... i'll try using the old sdk samples with the new sdk...
-Tareq
|
|
|
|
|
tareqsiraj wrote:
Is there any workaround to this problem for Visual C++ 6?
Not that I can think of right away. Couldn't you redefine the macros which uses __noop yourself? It's a dirty hack, but it should work, which is the main objective, right?
--
Arigato gozaimashida!
|
|
|
|
|
hmm... dont have much idea about howto do this hack... tried
#ifndef __noop
#define __noop
#endif
but gives syntax error: ')' ....
Thanks again ...
-Tareq
|
|
|
|
|
I was thinking more along the lines of rewriting the macros which make use of __noop.
--
Arigato gozaimashida!
|
|
|
|
|
Hello
I wrote an DLL with many Code.
My Calling Programm uses
CTCPHufKommDLLApp *m_pClient;
in the .h flie
and
this->m_pClient = new CTCPHufKommDLLApp((CWnd*) this);
in the Init Dialog of the calling Window.
this i no problem.
But in the OK Button code the line
void CHUFClientDlg::OnBnClickedOk()
{
if ( this->m_pClient != NULL )
{
delete( this->m_pClient );
this->m_pClient = NULL;
}
OnOK();
}
the delete line don't work. I never come in the destruktor. But I get an Compilerhalt at
afxtls.cpp
inline void* CThreadSlotData::GetThreadValue(int nSlot)
{
EnterCriticalSection(&m_sect);
ASSERT(nSlot != 0 && nSlot < m_nMax);
ASSERT(m_pSlotData != NULL);
ASSERT(m_pSlotData[nSlot].dwFlags & SLOT_USED);
ASSERT(m_tlsIndex != (DWORD)-1);
if( nSlot <= 0 || nSlot >= m_nMax ) // check for retail builds.
{
LeaveCriticalSection(&m_sect);
return NULL;
}
CThreadData* pData = (CThreadData*)TlsGetValue(m_tlsIndex);
if (pData == NULL || nSlot >= pData->nCount)
{
LeaveCriticalSection(&m_sect);
!!!Here it stops!!!
return NULL;
!!! HERE it stops!!!
}
void* pRetVal = pData->pData[nSlot];
LeaveCriticalSection(&m_sect);
return pRetVal;
}
I can continue without more errors, but never come into destructor.
So I get a memory leak.
Who can help me?
I'm just a beginner in DLL Programming.
Thank You for every Tip.
Greetings
Gerhard from Germany
|
|
|
|
|
Hard to help from what you've written, but what did you derive CTCPHufKommDLLApp from? Was it CWinApp? Because you may only have one instance of a CWinApp derived class in an MFC program.
|
|
|
|