WinFuture-Forum.de: Hintergrundbild Im Gadget Wechseln?! - WinFuture-Forum.de

Zum Inhalt wechseln

Alle Informationen in unserem Special: Windows Vista.
Seite 1 von 1

Hintergrundbild Im Gadget Wechseln?! .... transparente .png nicht angezeigt?


#1 Mitglied ist offline   Ford 

  • Gruppe: aktive Mitglieder
  • Beiträge: 27
  • Beigetreten: 16. Mai 07
  • Reputation: 0

geschrieben 03. Juli 2007 - 19:24

Hallo!

Ich - habwegs erfahren m Gadget-Bauen und mit den Grundfunktionen soweit vertraut ;) - benötige mal den entscheidenden Tip.

Folgendes Problem:
Das in meinem gerade entstehendem "Farbuhr"-Gadget verwendete Hintergrundbild will einfach nicht transparent angezeigt werden.
Ich habe ein Script - siehe unten - in dem festgelegt ist, dass zu einer bestimmten Uhrzeit ein bestimmtes Hintergrundbild innerhalb des Gadgets angezeigt wird. (So soll es zumindest mal sein) dies ließe sich dann erweitern, so dass stündlich, zweistündlich, wie auch immer, das Hintergrundbild im Gadget wechselt - je nach Uhrzeit eben.....

Hier mal das Script:

<html>
<head>
<title>Farbuhr</title>
<style>
body {
width: 130px;
height: 67px;
font-family: Tahoma, Helvetica, sans-serif; color: white;
font-size: 18px;
padding: 0px;
margin: 0px;
font-weight: bold;

}
#time {
width: 130px;
height: 67px;
margin: 0px;
padding: 0px;
}
.red {
background-image: url(images/red.png);
}
.yellow {
background-image: url(images/yellow.png);
}

</style>
<script>
function doTime()
{
var Time = new Date();
var hours = Time.getHours();
var minutes = Time.getMinutes();
var seconds = Time.getSeconds();
var timeclass = "yellow";
var h = "h";

if (hours < 12) {
ampm = "h";
} else {
ampm = "h";
}
if (hours < 8) {
timeclass = "red";
} else if(hours > 18) {
timeclass = "red";
}

if (hours > 12) {
hours = hours;
}
if (minutes < 10) {
minutes = "0"+minutes;
}

if (seconds < 10) {
seconds = "0"+seconds;
}

div = document.getElementById('time');
div.innerHTML = hours+":"+minutes+" "+ampm;
div.className = timeclass;
setTimeout("doTime()",1000);
}
</script>
</head>
<body onLoad="doTime()">
<div id="time" align="right"></div>
</body>
</html>


Nun das folgende Problem:

Obwohl ich diese Grafik hier verwende: (datei 0001.png) welche überall transparent angezeigt wird, wird es im Gedget je nach Einstellung entweder mit einem weißen Rahmen umgeben (welcher dann genau die 130*67 px misst), oder wenn man 2 Grafiken übereinander legt, ist das Ergebnis "rosa" umrandet. Irgendwas scheint da zu stören....


Und ich scheine nicht alleine auf die Lösung zu kommen. Kann mir bitte jemand helfen?

Wenn man in die Zeile so verändert :

Body {
width: 130px;
height: 67px;
background-image: url(images/yellow.png);
font-family: Tahoma, Helvetica, sans-serif; color: white;
font-size: 18px;
padding: 0px;
margin: 0px;
font-weight: bold; "

...kmmt der Rosa - Rahmen um die Bilder .... (weil sie übereinanderliegen?)-(Anlage 2: Erbgebis.jpg)
...läßt man die Zeile (fett) weg und nimmt "nur" ein Hintergrundbild, ist der weiße Rahmen da, wo es transparent sein sollte - Hat jemand dazu eine Idee, oder einen Vorschlag wie man das elegan lösen könnte?

DANKE! Gruß - Ford

Angehängte Miniaturbilder

  • Angehängtes Bild: 0001.png
  • Angehängtes Bild: ergebnis.jpg

0

Anzeige



#2 Mitglied ist offline   Spiderman 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.672
  • Beigetreten: 23. November 06
  • Reputation: 26

geschrieben 03. Juli 2007 - 20:16

Warum verwendest du nicht das g:background ?, das ist für dyn. Backgrounds gedacht.

Gruß
Spiderman

Dieser Beitrag wurde von Spiderman bearbeitet: 03. Juli 2007 - 20:17

0

#3 Mitglied ist offline   Ford 

  • Gruppe: aktive Mitglieder
  • Beiträge: 27
  • Beigetreten: 16. Mai 07
  • Reputation: 0

geschrieben 03. Juli 2007 - 20:27

Das "g:Background"?
Was ist das? Kannst Du das erklären - und - ggf. ein Beispiel bringen, wie man das einbaut?
Das habe ich noch gar nie gehört!
0

#4 Mitglied ist offline   Spiderman 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.672
  • Beigetreten: 23. November 06
  • Reputation: 26

geschrieben 03. Juli 2007 - 20:33

Ist das Hintergrundbild , kommt direkt hinter Body:

<g:background id="bg" src="images/bg4.png" style="position:absolute;z-index:-1" />

man ändert dann bg.src = "..." fertig.

Dieser Beitrag wurde von Spiderman bearbeitet: 03. Juli 2007 - 20:34

0

#5 Mitglied ist offline   Ford 

  • Gruppe: aktive Mitglieder
  • Beiträge: 27
  • Beigetreten: 16. Mai 07
  • Reputation: 0

geschrieben 03. Juli 2007 - 20:48

und das kann ich dann hier auch so eingeben ...."

}
#time {
width: 130px;
height: 67px;
margin: 0px;
padding: 0px;
}
.red {
background-image: url(images/red.png);
}
.yellow {
background-image: url(images/yellow.png);
}

</style>

?
0

#6 Mitglied ist offline   Ford 

  • Gruppe: aktive Mitglieder
  • Beiträge: 27
  • Beigetreten: 16. Mai 07
  • Reputation: 0

geschrieben 03. Juli 2007 - 21:05

Hallo Spiderman!
Ich bekomme es nicht hin, es funktioniert nicht - habe den Text so angepasst, wie geschrieben, aber entweder ist das Hintergrundbild dann ganz weg, oder es kommt nur so ca. 20 mal 50 px. - Miniklein am Rand....
Ich scheine da irgendwas falsch einzugeben ...
Kannst Du mir BITTE mal in den Text oben schreiben wo ich was wie eingeben muss?
Das ist wirklich extrem wichtig - davon hängt ab, ob ich an dem Gadget weiter arbeite oder nicht ....
Wenn das mit der Transparenz nicht funktioniert, hat es eh keinen Sinn weiter zu machen....
0

#7 Mitglied ist offline   Spiderman 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.672
  • Beigetreten: 23. November 06
  • Reputation: 26

geschrieben 03. Juli 2007 - 21:24

<html>
<head>
<title>Farbuhr</title>
<style>
body {
width: 130px;
height: 67px;
padding: 0px;
margin: 0px;
}

#time {
font-family: Tahoma, Helvetica, sans-serif; color: white;
font-size: 18px;
font-weight: bold;
}
</style>

<script>
function doTime(){
var Time = new Date();
var hours = Time.getHours();
var minutes = Time.getMinutes();
var seconds = Time.getSeconds();
var h = "h";

if (hours < 12) {
ampm = "h";
} else {
ampm = "h";
}
if (hours < 8) {
bg.src="images/red.png";
} else if(hours > 18) {
bg.src="images/yellow.png";
}

if (hours > 12) {
hours = hours;
}
if (minutes < 10) {
minutes = "0"+minutes;
}

if (seconds < 10) {
seconds = "0"+seconds;
}

div = document.getElementById('time');
div.innerHTML = hours+":"+minutes+" "+ampm;
setTimeout("doTime()",1000);
}
</script>
</head>
<body onLoad="doTime()">
<g:background id="bg" src="images/yellow.png" style="position:absolute;z-index:-1" />
<div id="time" align="right"></div>
</body>
</html>

Was meinst du mit Transparenz ?
0

#8 Mitglied ist offline   Ford 

  • Gruppe: aktive Mitglieder
  • Beiträge: 27
  • Beigetreten: 16. Mai 07
  • Reputation: 0

geschrieben 04. Juli 2007 - 05:32

JA !!!!!
Das funktioniert! - Hatte es doch falsch eingetragen!
Großes Danke an Spiderman! - Mit Transparenz war gemeint, dass die weißen Ränder am Gadget
hintergrund verschwinden mussten, sonst könnte man keine anderen .png Grafiken drüber legen, man würde sonst immer das weiß bzw. rosa durchsehen!
So ist es p e r f e k t!
Thanks a lot!
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0