Wędrując ostatnio po zasobach internetu natknąłem się na ciekawą stronę. A właściwie to jest to mini quiz. Nasze zadanie polega na wymienieniu jak największej ilości tagów HTML w ciągu 5 minut. Zadanie z pozoru wydaje się łatwe, jednak w praktyce, gdy działamy pod presją czasu, zdarza się zapomnieć „podstawowe” tagi HTML.
Mi udało się wymienić 82 elementy spośród 91. Jaki wynik uda się wam uzyskać?
82
Czasami zachodzi potrzeba pobrania z bazy danych rekordów bezpośrednio przed oraz po danym rekordzie. Ma to uzasadnienie na przykład w galerii zdjęć, gdzie chcemy użytkownikowi dać możliwość prostego przeglądania zdjęć. Oczywiście można to zrobić w sposób „łopatologoczny” za pomocą kilku zapytań do MySQL, jednak osobiście nie polecam takiego rozwiązania. Dzisiaj zaprezentuję w jaki sposób można zrobić to szybko i profesjonalnie.
Na samym początku musimy stworzyć tabelę, na której będziemy testować działanie naszego zapytania. Schemat wygląda następująco:
CREATE TABLE imiona (
id int PRIMARY KEY,
imie varchar(32) NOT NULL
);
INSERT INTO imiona VALUES (1, 'Ania');
INSERT INTO imiona VALUES (2, 'Kasia');
INSERT INTO imiona VALUES (3, 'Paweł');
INSERT INTO imiona VALUES (4, 'Natalia');
INSERT INTO imiona VALUES (5, 'Justyna');
INSERT INTO imiona VALUES (6, 'Adam');
INSERT INTO imiona VALUES (7, 'Krzysztof');
INSERT INTO imiona VALUES (8, 'Kazimierz');
INSERT INTO imiona VALUES (9, 'Piotrek');
INSERT INTO imiona VALUES (10, 'Jakub');
INSERT INTO imiona VALUES (11, 'Ewa');
INSERT INTO imiona VALUES (12, 'Kinga');
Oczywiście dane te są przykładowe. Można stworzyć dowolną strukturę, która pozwoli nam wygodnie przetrzymywać informacje.
Nie wiele osób zdaje sobie sprawę jakie możliwości posiada biblioteka GD, służąca do manipulacji obrazkami. Większość początkujących programistów używa jej głównie do tworzenia prostych wykresów, grafik, skalowania zdjęć, itp. Jednak to tylko urywek możliwości jakie posiada owa biblioteka.
Pokażę dzisiaj w jaki sposób można szybko i prosto tworzyć różnego efekty ze zdjęcia. Będziemy korzystać z funkcji imagefilter(), która została dołączona do PHP 5. Śmiało mogę powiedzieć, że za jej pomocą możemy osiągnąć podobne efekty jak w PhotoShop’ie, czy Gimp’ie. A więc do dzieła!
Składnia funkcji
Funkcja imagefilter() wymaga podania od nas co najmniej dwóch parametrów: uchwytu do obrazka, którym będziemy manipulować oraz nazwy filtru jaki na owym obrazu zastosujemy. Pozostałe parametry są opcjonalne.
Aby zobaczyć efekty poszczególnych filtrów będę operował na tym samym obrazku:
Fotografia pochodzi z rąk znajomego ze studiów. Można ją obejrzeć pod tym adresem.
Wszystkie filtry będziemy stosować w poniższym kodzie:
<?php
$image = imagecreatefromjpeg('nina.jpg');
//FILTR, KTÓRY CHCEMY ZASTOSOWAĆ
header('Content-type: image/jpeg');
imagejpeg($image);
Przykładowo, aby lekko rozjaśnić zdjęcie nasz plik będzie wyglądał następujaco:
<?php
$image = imagecreatefromjpeg('nina.jpg');
imagefilter($image, IMG_FILTER_BRIGHTNESS, 20);
header('Content-type: image/jpeg');
imagejpeg($image);
?>
Ale o poszczególnych filtrach trochę niżej.
Jasność
Aby rozjaśnić lub przyciemnić zdjęcie musimy zastosować filtr IMG_FILTER_BRIGHTNESS z parametrem wskazującym jak bardzo nasze zdjęcie ma się zmienić.

imagefilter($image, IMG_FILTER_BRIGHTNESS, 20);