|
Hi David,
No, that's jsut it. The IDE does it as a bost build process invoking the -s flag for silence with no message boxes. I should mention that this COM DLL calls functions from 2 other MFC DLL's that are created in this project.
Dave
test
|
|
|
|
|
So what happens if you remove the -s switch? Does the IDE report anything at that point?
"The largest fire starts but with the smallest spark." - David Crow
|
|
|
|
|
I got a static text
(OnTimer() fuction)
...
...
m_seconds = m_seconds + 1 ;
m_SsecondsStr.Format("%2d:%2d", (int) m_seconds/60, (int) m_seconds%60);
as an output it give me " 0: 1" ," 0: 2",..." 0:10",..
How i have to type the "%2d:2d" so the output will be
"00:01","00:02",..."00:10" ... ?
|
|
|
|
|
Immunity18 wrote:
m_SsecondsStr.Format("%2d:%2d", (int) m_seconds/60, (int) m_seconds%60);
Use:
m_SsecondsStr.Format("%02d:%02d", (int) m_seconds/60, (int) m_seconds%60);
"The largest fire starts but with the smallest spark." - David Crow
|
|
|
|
|
Hi,
how can i load a Bitmap (.bmp) into an array? i want to use the array for a little image processing task...i want to test some filters!!
i know i could use cximage ...but i dont want to use it now!
greets
|
|
|
|
|
a .BMP is a BITMAPFILEHEADER followed by a DIB. a DIB is a BITMAPINFOHEADER followed by an optional palette or a BITFIELD array, followed by the pixels. the pixels are stored top-down (unless the height is negative!), in rows padded so that each row is a multiple of 4 bytes wide - possibly compressed with RLE. 24 and 32-bit bit pixels are stored in BGR order. there are also 7 or 8 different bit depth options to mess with.
getting your array of pixels is a simple matter of parsing all of that !
use a toolkit
Cleek | Image Toolkits | Thumbnail maker
|
|
|
|
|
sounds easy *lol*
what about:
<br />
BOOL LoadBitmapFile(CString filepath)<br />
{<br />
<br />
if (m_hbm != NULL)
{<br />
SelectObject(m_dc.m_hDC, m_hbm_default);<br />
DeleteObject(m_hbm);<br />
}<br />
<br />
m_hbm = (HBITMAP)LoadImage(NULL, filepath, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION); <br />
<br />
if (m_hbm == NULL)
return FALSE; <br />
<br />
m_hbm_default = (HBITMAP)SelectObject( m_dc.m_hDC , m_hbm);<br />
<br />
GetObject(m_hbm, sizeof(DIBSECTION), &m_dib);<br />
<br />
<br />
return TRUE;<br />
}
|
|
|
|
|
i believe that gives you a DIB at whatever bit-depth your video card is running at. so, you still need to be aware of DIB oarsing, and bit-depth issues.
Cleek | Image Toolkits | Thumbnail maker
|
|
|
|
|
Do you have any sampel to load a bitmap to an array?
|
|
|
|
|
|
hi,
its your lib? looks nice...
what about?
mfcapp\mfcappview.cpp(238) : error C2668: 'pow' : ambiguous call to overloaded function
hm
|
|
|
|
|
surfman19 wrote: mfcapp\mfcappview.cpp(238) : error C2668: 'pow' : ambiguous call to overloaded function
MFCApp was built with VC6. that's probably a VS03 or VS05 error.. just add (double) in front of the pow or in front of the parameters
Cleek | Image Toolkits | Thumbnail maker
|
|
|
|
|
hi....
i use visual studio 2005! i built the lib now i want to use the lib in an new mfc project!
what can i do with?
c:\dokumente und einstellungen\gerald\desktop\mfcapp\jpeglib\jmorecfg.h(161) : error C2371: 'INT32' : redefinition; different basic types
c:\programme\microsoft platform sdk for windows server 2003 r2\include\basetsd.h(62) : see declaration of 'INT32'
c:\dokumente und einstellungen\gerald\desktop\mfcapp\jpeglib\jmorecfg.h(215) : warning C4005: 'FAR' : macro redefinition
c:\programme\microsoft platform sdk for windows server 2003 r2\include\windef.h(145) : see previous definition of 'FAR'
c:\imgtest\imgtest\imgtestdlg.cpp(130) : warning C4244: 'argument' : conversion from 'time_t' to 'unsigned int', possible loss of data
|
|
|
|
|
ok i changed it to:
#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
#include <basetsd.h>
//typedef long INT32;
#endif
<br />
int width = 256;<br />
int height = 256;<br />
BYTE * RGBbuffer = ReadJPEGFile("C:\\codeworx.bmp",&width,&height);<br />
imgtestdlg.cpp(213) : error C3861: 'ReadJPEGFile': identifier not found
hm?
-- modified at 15:13 Monday 15th May, 2006
|
|
|
|
|
I'm new to MATLAB programming. I currently use MATLAB v6.1(R12) on
MS WINXP SP2 with MS Visual C++ (6.0). I created a section of a
program within the Visual C++ environment and inserted a function
M-file into this program using the MATLAB Visual Studio Add-in. The
function M-file is to produce graphical output based on the values of
arrays which are to be initialized in the C++ environment. The
resulting program shows no compile errors.
The problem begins when the program is executed. It seems unable to
use the arrays intialized within the Visual C++ environment and
returns the error: "variable x is undefined". I don't understand why
this is so as the arrays have been initialized and passed
(mwArray(n_,_n,_name). I would appreciate it if someone could
provide assistance urgently.
Thank you
ATBU
|
|
|
|
|
Hi. I am writing picture editor which will work with all file types, that are used by Bitmap class. The program will use filters and other functions that will be alterring image.
I wrote a function to check if everything is ok and I can go on with my work, but I came to a problem.
The function below is just inverting pixels in Image and it works well... but only with 24Bpp>= images. What do I have to do, so that it will work with 8 and 16 Bpp Images ?
Thank you for any help!
Bitmap * bitmap.
{
UINT* pixels;
BitmapData bitmapData;
Rect rect(0, 0, pImg->GetWidth(), pImg->GetHeight());
pImg->LockBits(
&rect,
ImageLockModeWrite | ImageLockModeRead,
PixelFormat24bppRGB ,
&bitmapData);
pixels = (UINT*)bitmapData.Scan0;
int stride = bitmapData.Stride;
byte * p = (byte *)(void *)pixels;
int nOffset = stride - pImg->GetWidth() *3;
int nWidth = pImg->GetWidth() * 3;
for(int y=0;y < pImg->GetHeight();++y)
{
for(int x=0; x < nWidth; ++x )
{
p[0] = (byte)(255-p[0]);
++p;
}
p += nOffset;
}
pImg->UnlockBits(&bitmapData);
}
Cheers!
|
|
|
|
|
u need to do many reserches before u write code above.
the part which edits bitmap is less than 1/1000000000000000000000000000 of whole program which can edits "with all file types".
I suggest u stop now.
|
|
|
|
|
But you don't have to mess up with file types do you?
From what I know Bitmap class does everything for you. You just put
Bitmap bitmap("Filename") ;
And that's all, isn't it ?
I will do this editor for file types that are associated with Bitmap class, and they are(according to MSDN):
BMP, GIF, JPEG, PNG, TIFF, Exif, WMF, and EMF
The access to all pixels is not the same for all those file types(Of course depending on pixel depth)
So now my problem is only with different functions for different pixel depths images.
ps. I can't stop , as it's my school project. Thx for your reply though.
|
|
|
|
|
hi all
please look at 2 situations below
Items in underline outline the difference between both samples
1)
CString sPath = _T("c:\\file.txt");
FILE *pFile;
if( 0 != fopen_s( &pFile,(LPCSTR)sPath.GetBuffer(0),"w+b") )
throw _T("Error creating new file");
2)
FILE *pFile;
if( 0 != fopen_s( &pFile,"c:\\file.txt","w+b") )
throw _T("Error creating new file");
Problem is that 2- nd sample works fine, when 1- st throws exception.
Why ?
thank you in advance
-- modified at 12:13 Monday 15th May, 2006
|
|
|
|
|
big_denny_200 wrote: sPath.GetBuffer(0)
Getting Zero characters.
sPath.GetBuffer(sPath.GetLength())
"What classes are you using ? You shouldn't call stuff if you have no idea what it does" Christian Graus in the C# forum
led mike
|
|
|
|
|
(Dumb statment due to brain freeze removed.)
Since the second parameter to fopen_s is a const char* , you can simply do:
if (0 != fopen_s(&pFile, sPath, "w+b"))
To be more picky; since you are using the _T macros, the proper code should be:
if (0 != _tfopen_s(&pFile, sPath, _T("w+b")))
EDIT:
To be even more picky; CString indicates you are using MFC, so why not use the CStdioFile class?
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
-- modified at 14:04 Monday 15th May, 2006
|
|
|
|
|
thanks for reply.
What does it mean clearing buffer ?
I thought I was getting const pointer to wchar_t of sPath variable and then was casting it to const char * .
Was I wrong ?
I wanted to read(write) file data, per n bytes(first n bytes then second n bytes,..)
I thought using FILE would be good solution. As I would call fread() metod in loop.
Do you think using CFile is better ? in this case I will have to use Seek() methods.
Or better CStdioFile ?
thanks
-- modified at 14:08 Monday 15th May, 2006
|
|
|
|
|
I had a temporary brain freeze and mispoke; CString::GetBuffer returns a non-const pointer to memory with length at least that passed. Since you then cast it to a const pointer, the first call should have worked. It may have failed because the file was already open and locked or some other reason unrelated to the actual call.
(You should still just have passed sPath as the second parameter.)
If you are reading small amounts of data, the FILE based functions are a good way since they cache the reads/writes. CStdioFile encapsulates these functions.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Joe Woodbury wrote: I had a temporary brain freeze and mispoke;
why ?
Joe Woodbury wrote: CStdioFile encapsulates these functions
I am sorry for being so silly but I do not really fully understand meaning of word encapsulate.
Thank's for your attention.
|
|
|
|
|
big_denny_200 wrote: ...I do not really fully understand meaning of word encapsulate.
Wraps 'em up in a nice little package[^]
"The largest fire starts but with the smallest spark." - David Crow
|
|
|
|