IonicWind Software

IWBasic => General Questions => Topic started by: Brian on March 20, 2024, 10:24:17 AM

Title: GDI Help - sorry, I posted the last one in the wrong section!
Post by: Brian on March 20, 2024, 10:24:17 AM
I'm trying to replace the "mushroom.gif" part of this GDI call with a variable:
   result=GdipLoadImageFromFile(L"mushroom.gif",pImage)

Like so:
   result=GdipLoadImageFromFile(LvariableName,pImage)

but it doesn't like it all. Any ideas?

Out of interest, I am putting together a GDI image viewer, and this is my only stumbling-block at the moment. There will be others, no doubt, but this is the main one

Brian
Title: Re: GDI Help - sorry, I posted the last one in the wrong section!
Post by: LarryMc on March 21, 2024, 08:52:10 AM
How did you define the variable "LvariableName"?
Title: Re: GDI Help - sorry, I posted the last one in the wrong section!
Post by: Brian on March 21, 2024, 10:22:22 AM
Larry,

I am getting a result now, using WSTRING and S2W, and a bit of calafudging. Then I found out that you can "Dispose" and "Delete" a GDI-drawn image, but it doesn't delete it from the screen, so all the images pile on top of one another. Working on that now, and getting somewhere. Then it will be a look at what happens when you resize the window. . . .

Brian
Title: GDI Picture Viewer
Post by: Brian on March 22, 2024, 10:09:06 AM
Okay, here is my very simple GDI picture viewer. A bit to do on it yet, like resizing a picture that is too big to fit in the client area; maybe more info about a picture's quality, etc; change the statusbar to more meaningful output; add a menu. Things to do as I get the inspiration!

Currently it will load BMP, GIF, JPG, JPEG, PNG, TIF, TIFF and ICO formats, and display them
There is a filter in place so that the File Listbox only displays those formats
I have zipped up some images for you to test

You will have to generate a lib from the Pbsctrl.dll

Brian
Title: Re: GDI Help - sorry, I posted the last one in the wrong section!
Post by: Egil on March 23, 2024, 05:35:49 AM
Hi Brian!
It's nice to see that you have been rather busy when I have been away.
I'm still unable to use IWB, so glad you also included the exe file.
So far your program looks great, but here my laptop gives an error every ntime I start your program, and when i click "OK" in the error box your program starts, and appears to work as intended.
I'll check your code later, but there must be something in the file loading routine that my pc don't like.
Anhow, I really like what you have done so far!  :)


Egil
Title: Re: GDI Help - sorry, I posted the last one in the wrong section!
Post by: Brian on March 24, 2024, 05:38:22 AM
Egil,

Good to hear from you - hope you are doing well

It's not an error, really. It's just saying that the last-used path in the ini file is not the same that you are launching the program from. It should save your last-used directory when you close it. Have a looksee...

I could be posting another version today, and this will be a Project type, but I will include the exe again

Brian

Edit: Correction, after looking at my code and the message, it just means that that path is not available. So it was okay on my PC, but not yours!
Title: Re: GDI Help - sorry, I posted the last one in the wrong section!
Post by: Egil on March 24, 2024, 09:45:28 AM
Came home late friday night, but going back after Easter.
Had just started looking at your code in Notepad when I decided to check the Forum.
Just deleted the included ini file, and the error was gone!
Never used GDI myself, so will study your code to see how it is done.

All the best!
Egil
Title: GDI Picture Viewer
Post by: Brian on March 25, 2024, 06:01:10 AM
Update:

Added EMF and WMF filetypes as allowed formats
Added a menu for later additions
Changed the main program icon
Coloured the statusbar, and added an icon
Added image horizontal and vertical resolutions to the statusbar
Added VERSIONINFO into the resource (.rc) file

Removed previous upload, as the program is now a Project

Brian
Title: GDI Picture Viewer
Post by: Brian on March 25, 2024, 08:13:22 AM
Sorted the proportionate sizing of images, so if an image will fit in the window, no resizing is done; if the image is too big to fit in the window, then it is proportionately resized. Code and exe in the zip

Brian
Title: GDI Picture Viewer
Post by: Brian on March 28, 2024, 10:41:47 AM
I think I have taken this program as far as I want, so I doubt I will be doing any more on it. Don't fancy having to learn more of the hundreds of GDI calls, really!

Added bitmaps to the menus
Added an About box
Added more file info into the Statusbar
Slight update to the image proportion code
Exe included

Brian
Title: GDI Picture Viewer
Post by: Brian on March 30, 2024, 06:30:25 AM
OK, couldn't resist! Now when the window is resized, the loaded image is redrawn to fit the window. Before, you had to first click a filename, resize your window, and then click the filename again

Bit of slight flickering going on, but I can live with that. Very easy fix, as well

Exe and source code in the zip

Brian
Title: GDI Picture Viewer
Post by: Brian on April 01, 2024, 04:03:00 AM
Sorry about this, but while I was giving the program a good run through yesterday, I found it was hanging up at times when changing to different directories

I think I have fixed the problem, so please use this version instead

Brian