Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] Jquery nałożenie przezroczystego paska na zdjęcie.
arzach
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


Witam jak mogę osiągnąć taki efekt jak na






Chodzi o ten przezroczysty pasek na dole zdjęcia. Chciał bym nałożyć taki pasek na zdjęcie w którym będę mógł umieszczać informacje na temat zdjęcia. Zdjęcie nie zawsze morzę być takiego samego rozmiaru.

Prosił bym o wskazówki jak to wykonać. Nie chodzi mi o gotowca chciał bym sam takie coś zrobić sam od początku. Domyślam się że na początku musiał bym pobrać szerokość obrazka i potem na podstawie szerokości nałożyć div na obrazek.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Półprzezroczysty PNG.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
arzach
post
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


Ale pół przezroczysty obrazek mogę nałożyć w php ? coś na zasadzie jak znak wody ? I żeby mógł na nim umieścić informacje na temat obrazka pobrane z bazy ? Da się tak zrobić ?
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




to w końcu js czy php?
Go to the top of the page
+Quote Post
erix
post
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Da się tak zrobić ?

Da się, ale IMHO bez sensu - nie dasz na to łatwo linka, obniżysz jakość obrazka...


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
arzach
post
Post #6





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


Jak się da w php to wole w php a domyślam się ze się da. Proszę o wskazówki z jakich funkcji mam skorzystać by to wykonać. Na początku pobierał bym szerokość obrazka za pomocą getimagesize i potem na podstawie szerokości tworzył bym przezroczysty pasek. I dalej już nie wiem jak miał bym go nałożyć na obrazek z danymi na temat obrazka pobranymi z bazy. Proszę o wskazówki z jakich funkcji skorzystać ?


EDIT

Cytat
Da się, ale IMHO bez sensu - nie dasz na to łatwo linka, obniżysz jakość obrazka...


Czyli w php musiał bym nałożyć tylko przezroczysty obrazek a w js informacje na temat obrazka ?
Tylko jak mam to zrobić proszę o wskazówki ? w manualu znalazłem imagecolorallocatealpha

Ten post edytował arzach 17.07.2009, 18:04:05
Go to the top of the page
+Quote Post
vokiel
post
Post #7





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

Ostrzeżenie: (0%)
-----


A czy nie lepiej będzie to osiągnąć w samym css (z półprzezroczystym png jako tło)? Dwie warstwy, jedna na drugiej, druga przyklejona do dołu.


--------------------
Go to the top of the page
+Quote Post
arzach
post
Post #8





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


Cytat
A czy nie lepiej będzie to osiągnąć w samym css (z półprzezroczystym png jako tło)? Dwie warstwy, jedna na drugiej, druga przyklejona do dołu.


Możesz coś bardziej przybliżyć jak mogę to zrobić ?

A i obrazek może być różnego rozmiaru bo jest pobierany z bazy.

Jak mogę nałożyć warstwę na obrazek ? ( pasek) by był na samym dole obrazka ?






Bo na chwile obecną zrobiłem w php takie coś
przykład
http://www.fusion.boo.pl/pasek.php
( chodzi o kółko )
i nie mogę znaleźć funkcji którą mógł bym zrobić prostokąt zamiast kółka oto kod jaki napisałem
  1. <?php
  2. $origfile = 'test.jpg';
  3. $image = imagecreatefromjpeg($origfile);
  4. $blue_x   = 387;
  5. $blue_y   = 125;
  6. $radius   = 150;
  7. $blue = imagecolorallocatealpha($image, 0, 0, 0, 70);
  8. imagefilledellipse($image, $blue_x, $blue_y, $radius, $radius, $blue);
  9. header('Content-type: image/png');
  10. imagepng($image);
  11. imagedestroy($image);
  12. ?>


Ten post edytował arzach 17.07.2009, 20:12:21
Go to the top of the page
+Quote Post
Kildyt
post
Post #9





Grupa: Zarejestrowani
Postów: 869
Pomógł: 53
Dołączył: 20.10.2003
Skąd: Przeworsk

Ostrzeżenie: (0%)
-----


W CSS możesz to zrobić na kilka sposobów. Ja bym zastosował ujemny margines górny dla paska. Wtedy nie musisz obrazka wrzucać do oddzielnego div-a.


--------------------
Go to the top of the page
+Quote Post
gcdreak
post
Post #10





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


HTML:
Kod
<div class="foto">
            
        </div>
        <p class="pasek">
            
        </p>

CSS:
Kod
*{margin:0; padding:0}
        .foto {
            
            width:300px;
            height:150px;
            background:#4d4d4d;
        }
        .pasek {
            margin-top:-50px;
            width:300px;
            height:50px;
            background:#ffa500;
            opacity:0.3;
        }

Ustaw sobie dla paska odpowiednie tło.png, żeby przejść validacje i usuń opacity.
Go to the top of the page
+Quote Post
erix
post
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. opacity wymusi półprzezroczystość dla wszystkich elementów w tej warstwie, czego nie będzie przy PNG
  2. zostaje kwestia IE


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
gcdreak
post
Post #12





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


Dlatego napisalem żeby go zastosowal.
Jeśli chodzi o IE6 to przeciez skoro uzytkownik uzywa IE6 to nie zasluguje na lepsze efekty wizualne;P
nie ma sie co tym przejmowac. Oni będą mieć białe tło.
Go to the top of the page
+Quote Post
arzach
post
Post #13





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

Ostrzeżenie: (0%)
-----


Zrobiłem tak i

  1. <style>
  2. *{margin:0; padding:0}
  3.        .foto {
  4.            
  5.            width:300px;
  6.            height:150px;
  7.            
  8.        }
  9.        .pasek {
  10.            margin-top:-100px;
  11.            height:100px;
  12.            background-image: url(tlo.PNG);
  13.            opacity:0.5;
  14.            filter: alpha(opacity=50);
  15.        }
  16. </style>
  17.  
  18. <?php
  19. $rozmiar = getimagesize('test.jpg');
  20. <div class=\"foto\">
  21. <img src=\"test.jpg\" alt=\"\">            
  22.        </div>
  23.        <p class=\"pasek\" style=\"width:".$rozmiar[0]."px\">
  24. test test test test test
  25.        </p>";
  26. ?>


Działa przykład

http://www.fusion.boo.pl/pasek.php

Ale gdy już próbuje to dodać w panelu cms rozwala się cała strona
przykład
http://www.fusion.boo.pl/obr.php
jak mogę temu zaradzić ?
Go to the top of the page
+Quote Post
gcdreak
post
Post #14





Grupa: Zarejestrowani
Postów: 365
Pomógł: 8
Dołączył: 16.12.2008

Ostrzeżenie: (0%)
-----


Poprostu obrazek jest płynnie ustawiony(masz w stylach float) i to wyłącza go z normalnego biegu i sprawia, żę element <td class="main-body"> go nie obejmuje.
Możesz zastosować metodę Asletta dodając w stylach:
Kod
.main-body:after{
content:".";
height:0;
visibility:hidden;
display:block;
clear:both;
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:07