Jump to content
  • 0

прозрачный фон для gif изображения


???
 Share

Question

добрый вечер уважаемые форумчане.

вот такой вопрос:

у меня на страничке имеется n-ое кол-во изображений в формате gif, которые посредством javascript могут быть наложенны друг на друга... дело в том, что если одна картинка попадает на другую, то фон (белый) картинки, которая сверху виден на нижней...что не очень красиво.

как на html, или может даже на css или javascript сделать прозрачный фон??

заранее спасибо.

Link to comment
Share on other sites

15 answers to this question

Recommended Posts

  • 0

может у вас для блока с картинкой задан background?

просто не может картинка отдельно исчезать оставляя фон, это ведь единое целое.

не лучше преобразовать их в png и оптимизировать изображения? если конечно они статичные

Link to comment
Share on other sites

  • 0


<!DOCTYPE html>
<html>
<head>
<title>просто так </title>
<meta name='robots' content='noindex, nofollow'>
<style>
html { overflow: hidden; }
body { margin: 0; }
img {
position: absolute;
left: 500px;
top: 250px;
}
</style>
<script type='text/javascript'>
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
var mouse_x = y = 0;
function init() {
if (ns4) {document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove=mousemove;
}
function mousemove(event) {

if (document.attachEvent != null) {
mouse_x = window.event.clientX;
mouse_y = window.event.clientY;
} else if (!document.attachEvent && document.addEventListener) {
mouse_x = event.clientX;
mouse_y = event.clientY;
}
status="x = " + mouse_x + ", y = " + mouse_y;
document.getElementById('xy').innerHTML = "x = " + mouse_x + ", y = " + mouse_y;
}
init()


var i;
var v = 19;
var mass_di = new Array, mass_dj = new Array;
for (i = v; i > -1; i--) {
mass_di[i] = 250;
mass_dj[i] = 500;
}

function f_img() {
for (i = v; i > -1; i--) {
document.getElementById('img'+i).style.width = document.getElementById('img'+i).width + 2 + 'px';
document.getElementById('img'+i).style.height = document.getElementById('img'+i).height + 2 + 'px';
}

for (i = v; i > -1; i--) {
mass_di[i] -= 1;
mass_dj[i] -= 1;
}

for (i = v; i > -1; i--) {
document.getElementById('img'+i).style.top = mass_di[i] + 'px';
document.getElementById('img'+i).style.left = mass_dj[i] + 'px';
if (document.getElementById('img'+i).width >= 200) {

new_img();

}
}
}
function new_img() { // alert('');
document.getElementById('img'+i).style.width = 1 + 'px';
document.getElementById('img'+i).style.height = 1 + 'px';
document.getElementById('img'+i).style.top = mouse_y[i] + 'px';
document.getElementById('img'+i).style.left = mouse_x[i] + 'px';

mass_di[i] = mouse_y;
mass_dj[i] = mouse_x;
}

</script>
</head>
<body>
<span id="xy"></span>
<div id='syda'>
<script type='text/javascript'><!--
for (var i = 19; i > -1; i--) {
document.write("<img src='zr.gif' class='img img"+i+"' id='img"+i+"' width='" + (i * 10) + "' height='" + (i * 10) + "'>");
}
--></script>
</div>
<script type='text/javascript'><!--
f_img();
setInterval("f_img();",1);
--></script>
</body>
</html>

попробуйте создать у себя html файл с этим кодом, прикрепить картинку в тот же каталог и посмотреть что получится

Edited by ???
Link to comment
Share on other sites

  • 0


<!DOCTYPE html>
<html>
<head>
<title>просто так </title>
<meta name='robots' content='noindex, nofollow'>
<style>
html { overflow: hidden; }
body { margin: 0; }
img {
position: absolute;
left: 500px;
top: 250px;
}
</style>
<script type='text/javascript'>
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
var mouse_x = y = 0;
function init() {
if (ns4) {document.captureEvents(Event.MOUSEMOVE);}
document.onmousemove=mousemove;
}
function mousemove(event) {

if (document.attachEvent != null) {
mouse_x = window.event.clientX;
mouse_y = window.event.clientY;
} else if (!document.attachEvent && document.addEventListener) {
mouse_x = event.clientX;
mouse_y = event.clientY;
}
status="x = " + mouse_x + ", y = " + mouse_y;
document.getElementById('xy').innerHTML = "x = " + mouse_x + ", y = " + mouse_y;
}
init()


var i;
var v = 19;
var mass_di = new Array, mass_dj = new Array;
for (i = v; i > -1; i--) {
mass_di[i] = 250;
mass_dj[i] = 500;
}

function f_img() {
for (i = v; i > -1; i--) {
document.getElementById('img'+i).style.width = document.getElementById('img'+i).width + 2 + 'px';
document.getElementById('img'+i).style.height = document.getElementById('img'+i).height + 2 + 'px';
}

for (i = v; i > -1; i--) {
mass_di[i] -= 1;
mass_dj[i] -= 1;
}

for (i = v; i > -1; i--) {
document.getElementById('img'+i).style.top = mass_di[i] + 'px';
document.getElementById('img'+i).style.left = mass_dj[i] + 'px';
if (document.getElementById('img'+i).width >= 200) {

new_img();

}
}
}
function new_img() { // alert('');
document.getElementById('img'+i).style.width = 1 + 'px';
document.getElementById('img'+i).style.height = 1 + 'px';
document.getElementById('img'+i).style.top = mouse_y[i] + 'px';
document.getElementById('img'+i).style.left = mouse_x[i] + 'px';

mass_di[i] = mouse_y;
mass_dj[i] = mouse_x;
}

</script>
</head>
<body>
<span id="xy"></span>
<div id='syda'>
<script type='text/javascript'><!--
for (var i = 19; i > -1; i--) {
document.write("<img src='zr.gif' class='img img"+i+"' id='img"+i+"' width='" + (i * 10) + "' height='" + (i * 10) + "'>");
}
--></script>
</div>
<script type='text/javascript'><!--
f_img();
setInterval("f_img();",1);
--></script>
</body>
</html>

попробуйте создать у себя html файл с этим кодом, прикрепить картинку в тот же каталог и посмотреть что получится

Понял вашу проблему, но обрезал картинку до главного содержимого и противного наложения не стало, вот пример.

Edited by flintovich
Link to comment
Share on other sites

  • 0

намёк понял. мне надо просто обрезать свою картинку..

спасибо

не совсем понимаю...у вашей птички есть много "белого" пространства...почему оно не отображается??

Это не белое пространство.) Картинка ведь прозрачная)

Просто из-за того, что ваша картинка была размеров больше нужного, то изображение налазило на другое с большими как бы "границами" .

Edited by flintovich
Link to comment
Share on other sites

  • 0

спасибо огромное!!

а как вы это сделали? если не секрет :)

Обращайтесь) Будет свободное время с удовольствием помогу. :D

Взял вашу картинку, белый фон сделал прозрачным и сохранил в gif формате.

Link to comment
Share on other sites

  • 0

Обращайтесь) Будет свободное время с удовольствием помогу. :D

Взял вашу картинку, белый фон сделал прозрачным и сохранил в gif формате.

хмм...надо попробовать :huh:

спасибо большое :) :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy