Avatar billede jakobdo Ekspert
10. august 2004 - 13:50 Der er 16 kommentarer og
1 løsning

Sætte jpg/jpeg som baggrundsbillede.

Hej,
jeg er igang med at lege med et lille program, som skal sætte baggrundsbillede.

Jeg bruger følgende kode:

char buffer[] = "C:\\wallpaper.bmp";

SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, buffer, SPIF_SENDCHANGE | SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE);

I dag har jeg alle billeder liggende som BMP'er, og de fylder jo en del.
Er der mulighed for at bruge jpg/jpeg's?
Konvertere dem on-the-fly til BMP og så bruge dem?
Avatar billede soreno Praktikant
10. august 2004 - 14:02 #1
Måske det var bedre at pakke dem (zip eller lign.) ?

JPEG er et lossfull format, det er BMP ikke. Det ville da være synd at sænke kvaliteten af billedet ved at lade dem konvertere til JPEG.
Avatar billede jakobdo Ekspert
10. august 2004 - 14:05 #2
Jo, men jeg synes bare det fylder så meget, når nu jeg har 10-20 bmp'er ligende! :o)
Men ok, glemmer ideen igen! :o)

Smid bare et svar!
Avatar billede soreno Praktikant
10. august 2004 - 14:10 #3
Du kan bruge zlib til at pakke med:
http://www.gzip.org/zlib/

Du kan også bruge png formatet. Det bliver dog ikke komprimeret så meget når der er mange farver (som på et foto), men det er lossless.
Avatar billede soreno Praktikant
10. august 2004 - 14:10 #4
Og et svar.
Avatar billede bertelbrander Novice
10. august 2004 - 19:58 #5
På nyere versioner af Windows kan man bruge .jpg billeder direkte.
Avatar billede jakobdo Ekspert
10. august 2004 - 20:40 #6
Altså så jeg kan bruge:

char buffer[] = "C:\\wallpaper.jpg"; ??
Avatar billede bertelbrander Novice
10. august 2004 - 20:58 #7
Det burde virke.
På 2000 og XP (og måske også andre versioner) kan man vælge .jpg billeder fra kontrol panelet, så hvorfor skulle det ikke virke fra dit program?
Avatar billede jakobdo Ekspert
10. august 2004 - 21:27 #8
Ved jeg ikke!
Har desværre ikke min kode hjemme, så må teste i morgen, skal nok lige give tilbage melding! (men jeg tror nu at nyere versioner konvertere jpg til bmp)

Info ifølge SDK:

SPI_SETDESKWALLPAPER
Sets the desktop wallpaper. The value of the pvParam parameter determines the new wallpaper. To specify a wallpaper bitmap, set pvParam to point to a null-terminated string containing the name of a bitmap file. Setting pvParam to "" removes the wallpaper. Setting pvParam to SETWALLPAPER_DEFAULT or NULL reverts to the default wallpaper.
Avatar billede soreno Praktikant
11. august 2004 - 08:48 #9
Jeg har en anelse om at den jpg man vælger fra kontrol panel bliver konverteret til bmp inden den sættes som baggrund. Altså må det være kontrol panel appletten som konvertere.
Avatar billede mcgoat Nybegynder
11. august 2004 - 20:34 #10
Hvis du bruger BCB:

#include <jpeg.hpp>

Graphics::TBitmap *bit = new Graphics::TBitmap();
TJPEGImage *jp = new TJPEGImage();
bit->LoadFromFile(File->Items->Strings[i]);
jp->Assign(bit);
jp->SaveToFile(File->Items->Strings[i].SubString(1,strlen(File->Items->Strings[i].c_str())-4) + ".jpg");
delete bit;
delete jp;

Så kan du konvertere et bmp til jpeg hvis det er det du leder efter?
Avatar billede bertelbrander Novice
12. august 2004 - 01:05 #11
Jeg har nok en class og et lib til at ligge hvis det stadig har interesse og du ikke bruger BCB, eller ønsker en ren Win32Api løsning.
Avatar billede jakobdo Ekspert
12. august 2004 - 07:21 #12
Jeg vil da gerne have class'en Bertelbrander! (men jeg skal ikke bruge det, for bruger bare BMP'er...)

Men derfor er det jo altid rart med lidt kodestumper til lidt af hvert! (så hvis det ikke er til for meget besvær...)
Avatar billede bertelbrander Novice
12. august 2004 - 19:37 #13
Jeg arbejder pt. på en lille Windows app. der kan læse, skrive, resize, beskære, etc. .bmp og .jpeg billeder.
Kernen heri er en class's som man også kan bruge i andre app's.
Jeg forventer at projectet er helt færdig om nogle dage, og så vil jeg oploade det til min hjemmeside, så hvis du kan vente...
Avatar billede jakobdo Ekspert
13. august 2004 - 07:26 #14
Det kan jeg godt!

Har du en masse gode class'er og apps liggende på din side?
Evt i et dir, så man kan suge alt?
(har jo fulgt din hjælp her på siden, og du er jo ikke helt tabt bag en vogn) :o)
Avatar billede bertelbrander Novice
14. august 2004 - 00:49 #15
Jeg lidt til at ligge på min hjemmeside.

Da linket til denne ikke har direkte relevans for spørgsmålet her må jeg vist ikke skrive det.

Men jeg må måske godt fortælle at jeg har et link til min hjemmeside til at stå under brugerinfo.
Avatar billede jakobdo Ekspert
14. august 2004 - 08:25 #16
Ok, tak for info! (og hjælpen)
Avatar billede bertelbrander Novice
21. august 2004 - 13:23 #17
Jeg har lagt den første betaversion ud på min hjemmeside, du finder den under Samples, den hedder JDraw.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester