|
CImage class is your answer.
CImage m;
m.Load("C:\\1.png");
m.BibtBlt(...);
|
|
|
|
|
I thought CImage was a wrapper for GDI+ ?
|
|
|
|
|
Why do you think GDI+ (i.e. Image class in this context) needs a wrapper?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
[my articles]
|
|
|
|
|
Wrapper probably wasn't the best word to use. I just wanted to point out that GDI+ is used internally by CImage as the OP said they didn't want to use GDI+.
|
|
|
|
|
|
Because the op didn't want to use GDI+ but CImage uses GDI+
for loading/saving files
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Really I didnt know it.
|
|
|
|
|
Hamid. wrote: Why?
Because of comments like this in the CImage documentation...
"Whenever the count goes to 0, the function GdiplusShutdown is automatically called to release resources used by GDI+. "
"to explicitly release resources used by GDI+."
|
|
|
|
|
|
bob16972 wrote: I thought CImage was a wrapper for GDI+
Nah it's a wrapper for a DIBSection, using GDI+ for loading and saving
If I remember right...
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
well, I probably shouldn't have used the word wrapper as I meant it uses GDI+ internally. I didn't mean to make it sound all inclusive.
The OP not wanting to use GDI+ was the purpose of my original response as you pointed out in your other post (in this thread). I glad somebody knew what I meant.
|
|
|
|
|
Heh it doesn't matter - the whole topic is kind of
tongue-in-cheek for me anyway - I never get why people will use
Windows APIs but won't use GDI+....seems kind of silly
Cheers,
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
You can link with the PNG library to read/write PNG files. The source code is located on the website.
http://www.libpng.org/pub/png/[^]
Best Wishes,
-Randor
|
|
|
|
|
Hi friends ...i have small doubt with my project..in this code is not created the serial numbers in file ...how to generate it ?
i am used only CFile ..i am not using CStdioFile etc...plz i need ur help...!!!
CFile Lfile("path of the file name", CFile::modeReadWrite);
CString big_string,b_Temp;
CStringArray big_Array;
int isize=0;
int iver=0;
while(Lfile.GetLength())
{
b_Temp=big_string;
big_string.Format(_T("%d. %s"),iver+1,b_Temp);
big_Array.Add(big_string);
++iver;
}
Lfile.SeekToBegin();
for(int i=1;i<=big_Array.GetSize();++i)
{
b_Temp=big_string;
b_Temp.Format("%s\n",big_Array.GetAt(i-1));
Lfile.Write("",b_Temp.GetLength());
}
Thanks!!
raju.k
|
|
|
|
|
verify this
raju.k wrote: Lfile.Write("",b_Temp.GetLength());
|
|
|
|
|
yes.. i checked ..but ..its shown same ....not write the serial NUMBER in file
raju.k
|
|
|
|
|
Wow, did you even read the documentation of the Write function ? You pass an empty string ("") to be written in the file and then you specify that its size is b_Temp.GetLength() (meaning that's the number of bytes that needs to be written in the file).
Common, don't you think it's about time you look at the documentation and try to understand it before guessing what the different functions might be doing ? It's been one week you are working on this problem.
|
|
|
|
|
Cedric Moonen wrote: don't you think it's about time you look at the documentation and try to understand it before guessing what the different functions might be doing ?
Oh... Please sir, Don't be harsh on him. This poor chap just has an experience of 1.2 months. wait... it should be 1.4 months now.
Seriously, I wonder if he is really using a debugger.
Regards,
Vijay.
|
|
|
|
|
Okay, I'll give you some hints so that you can understand what's wrong with your code. But you really need to learn to use documentation efficiently.
And please, when you post code, use the formatting tags. And read the posting guidelines at the top of this forum.
BTW, you would confuse much less people if you use the word "line number" instead of "serial number". Well I suppose that's what you want to do ? Add a line number in front of each line in the file ? It took me quite a lot of time to understand it...
So, here we go:
<blockquote class="FQ"><div class="FQA">raju.k wrote:</div>CFile Lfile("path of the file name", CFile::modeReadWrite);</blockquote>
I suppose this is pseudo code and that you actually pass the correct file path ?
raju.k wrote: while(Lfile.GetLength())
So, here you have basically in infinite loop because the size of your file will never decrease.
raju.k wrote: b_Temp=big_string;
big_string.Format(_T("%d. %s"),iver+1,b_Temp);
big_Array.Add(big_string);
++iver;
You never actually read something from your file so, your strings won't contain anything usefull (only the previous values that you have put in).
raju.k wrote: b_Temp=big_string;
b_Temp.Format("%s\n",big_Array.GetAt(i-1));
This is not needed because you can directly use the string in the array instead of using yet another one. And the first line doesn't have any purpose neither.
raju.k wrote: Lfile.Write("",b_Temp.GetLength());
This problem has already been discussed in the previous posts: you write an empty string to your file but you still write some garbage characters.
|
|
|
|
|
raju.k wrote: in this code is not created the serial numbers in file
...
Lfile.Write("",b_Temp.GetLength());
Did you stop to wonder why?
If you went to pour the contents of an empty cup into the sink, would you then wonder why the sink remained dry?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Hello everyone,
I want to learn what DLL rebase is, currently I am reading, http://msdn2.microsoft.com/en-us/library/ms810432.aspx, but find the theory part is too brief and I can not understand,
1. Why we need rebase;
2. When we need rebase;
3. How do the rebase;
4. Performance impact.
Any other documents to refer? From MSDN, this is the only one I found.
thanks in advance,
George
|
|
|
|
|
|
Thanks Steve!
Good link! What is A function imported by ordinal?
regards,
George
|
|
|
|
|
There are two ways to import a function from a DLL:
- By name.
- By ordinal.
When you import by ordinal the importing module refers to the function by index and not by name.
Steve
|
|
|
|
|
Thanks Steve!
1.
Stephen Hewitt wrote: refers to the function by index
By index? Looks interesting. Could you recommend some samples?
regards,
George
|
|
|
|