online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon spyro vom 17.09.2019, 09:52 Options

Pixel in Bild ändern

Hi,
folgendes:
Ich habe eine Seite erstellt (php/html), in der normale Bilder (.jpg oda so) eingebunden sind. Jetzt möchte ich, dass die Ecken der angezeigten Bilder abgerundet werden. Dazu möchte ich die einzelnen Pixel des Bildes ansprechen können um deren Farbe zu ändern. Leider kenne ich mich noch nicht soo gut mit solchen sachen aus...Kann mir jemand einen Tipp geben?

Schonmal Danke^^


Antwort schreiben

Antwort 1 von Pausenfueller vom 17.09.2019, 10:49 Options

Hallo,

da das eine Frage der Bildbearbeitung ist, wärst du mit deinem Problem besser in dieser Gruppe aufgehoben. Es könnte passieren, dass sie ein Admin noch dorthin verschiebt.

Welche Bildbearbeitungsprogramme stehen dir denn zur Verfügung? Da kann man dir eher einen konkreten Tip geben.

Letzendlich wird es darauf hinauslaufen, dass du die runden Ecken entweder mit der Hintergrundfarbe deiner Website füllst, oder, wenn dieser Hintergrund Muster oder Verläufe aufweist, die Ecken transparent machst (GIF, PNG).

Gruß
Pausenfüller

Antwort 2 von spyro vom 17.09.2019, 11:07 Options

Also ich möchte eigentlich nicht mit Bildbearbeitungsprogrammen an die Sache rangehen, weil ich häufig neue Bilder auf die Seite hinzufüge und diese dann alle manuell abrunden müsste. Es geht darum die Bilder abgerundet erscheinen zu lassen. Deshalb müsste ich bloß die einzelnen Pixel ansprechen können. Ich habe eben per Google die funktion "imagesetpixel" gefunden, welche mit helfen könte...wenn ich sie verstehen würde:

int imagesetpixel ( resource $im, int $x, int $y, int $col )

ImageSetPixel() zeichnet ein Pixel an der Koordinate x / y. Dabei ist die Koordinate 0, 0 die linke obere Ecke des Bildes im. Die Pixelfarbe wird durch col bestimmt.

ich bekomme imemr einen Fehler "ungültige ressource" doa so.
Ich schreibe z.b. "imagesetpixel ("test.jpg", 10, 10, white);
Dadurch müsste in dem Bild test.jpg (schwarzes Viereck) doch der Pixel 10/10 weiß werden...ich bekomme aber eine Fehlermeldung und es tut sich nix. Was hab ich da falsch verstanden? O_o

Würde mich freuen, wenn mir jemand mit der funktion helfen köntne, da das eigentlich genau das ist, was ich suche^^°°°

MFG spYro

Antwort 3 von Aquarelle vom 17.09.2019, 11:31 Options

Damit änderst du aber nicht das Bild, sondern erzeugst praktisch einen Rahmen, hinter den du das Bild stellst.

Antwort 4 von spyro vom 17.09.2019, 12:09 Options

@Aquarelle:
Mit imagesetpixel setzt ich einen Rahmen? Das glaube ich wohl eher kaum...Sonst hieße es ja "imagesetborder"...
Nein, mein Problem liegt einzig und alleine in der Anwendung der Funktion. Ich habe langsam den Eindruck, dass man diese Funktion nur auf Bilder anwenden kann, die man ebenfalls per php/html erstellt...Aber man müsste doch auch existierende Bilder "in die Funktion laden" können, um diese dann zu verändern...o__o

Weiß wer wie?

MFG spYro

Antwort 5 von Besucherpete vom 17.09.2019, 12:28 Options

Zitat:
Damit änderst du aber nicht das Bild, sondern erzeugst praktisch einen Rahmen, hinter den du das Bild stellst.

Wenn es so ist, dürfte das auch egal sein, denn damit wird auch das erreicht, was erreicht werden soll: Das Bild wird mit abgerundeten Ecken angezeigt.

Antwort 6 von rfb vom 17.09.2019, 15:22 Options

Zitat:
imagesetpixel ("test.jpg", 10, 10, white)
zumindest kennt PHP den Begriff white hier gar nicht, du müsstest erst mittels imagecolorallocate eine entsprechende Farbe anlegen.

Ob eine Datei einfach so als Bildresource übergeben werden kann entzieht sich meiner Kenntnis.

Generell bist du mit einer PHP-Frage in der Gruppe JavaScript nicht bestens beraten!

Antwort 7 von spyro vom 17.09.2019, 15:44 Options

x_x Args...Wieso sagt mir dnen keiner, dass ich statt PHP in der Gruppe VB/Java gelandet bin...hab mich da wohl verklickt^^°°°°
Könnte ein Mod/admin das kurz zu PHP verschieben?

MFG spYro

Antwort 8 von Pausenfueller vom 17.09.2019, 16:47 Options

Hallo,

ich will dir das mit 'imagesetpixel' ja nicht ausreden, aber eine gewisse Bearbeitung der Bilder wird ja wohl vor dem Hochladen ohnehin durch dich erfolgen.

Einiges muss man ja immer noch von Hand machen, wer hat schon Bilder, die so wie sie reinkommen für eine Website verwendet werden können. Die Einstellung der einheitlichen Auflösung und Ausgabegröße, lasse ich dabei z.B. unter Photoshop mittels einer einmal aufzeichneten Aktion als Stapelverarbeitung ablaufen. Dort auch noch abgerundete Ecken mit einer vorgegebenen Farbe zu füllen, wäre absolut kein Problem. Und durch die Anwendung von Ebeneneffekten ließen sich, falls gewünscht, noch ein paar optische Spielereien einfügen, die dir bei 'imagesetpixel' nicht möglich sind.

Solch eine Aktion vorzubereiten und aufzuzeichnen dürfte erheblich schneller gehen, als Pixel für Pixel die Koordinaten für die Abrundung der Ecken zu ermitteln und in entsprechende Vorgaben zu fassen. Und der Aufwand wäre auch in der Bildbearbeitung einmalig, der Rest läuft ja automatisiert innerhalb weniger Sekunden ab.

Gruß
Pausenfüller

Ähnliche Themen

windows98: pixel auflösung
razorgirl  18.01.2007 - 65 Hits - 1 Antwort

Wenn Bild breiter als 500 Pixel automatisch verkleinern?
schanuckie  02.03.2007 - 87 Hits - 2 Antworten

Bildgröße ändern
Computerfreaki  20.04.2008 - 64 Hits - 4 Antworten

native auflösung von 22" und 20" gleich?
SilverTiger  04.05.2008 - 39 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 11:26:25 2026