php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 31-07-2007, 16:11
ComicKopf
 Registrierter Benutzer
Links : Onlinestatus : ComicKopf ist offline
Registriert seit: Feb 2003
Beiträge: 89
ComicKopf ist zur Zeit noch ein unbeschriebenes Blatt
Standard Farbe eines eingelesenen Bildes ersetzen

Hallo

Ich bastele an einem Script, in dem ich erst ein Bild einlesen will und dann bestimmte Farben in diesem Bild durch andere ersetzen lasse.

Dazu nutze ich die Funktion imagecolorset.

Das Ersetzen klappt auch ganz gut mit selber vorher erstellen Bildern, aber eben nicht mit einem anderen Bild, das ich einfach nur einlese.

Dies ist mein Versuch, ich hoffe ihr könnt mir helfen.

PHP-Code:
$image=ImageCreateFromGIF($bild); //Das Bild ist vorhanden
$farbe=imagecolorallocate($image,0,0,0);
imagecolorset($image,$farbe,244,244,244); 

imagegif($image);
imagedestroy($image); 
Mit Zitat antworten
  #2 (permalink)  
Alt 31-07-2007, 16:17
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

was heißt klappt nicht?
Mit Zitat antworten
  #3 (permalink)  
Alt 31-07-2007, 16:34
ComicKopf
 Registrierter Benutzer
Links : Onlinestatus : ComicKopf ist offline
Registriert seit: Feb 2003
Beiträge: 89
ComicKopf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wenn ich mit den php-Funktionen ein zweifarbiges Bild erstelle, dann kann ich mit imagecolorset eine der Farben ersetzen.
Wenn ich aber ein zweifarbiges Bild mittels imagecreatefromgif einlese und die Funktion verwende, wird die Farbe nicht ersetzt.
Mit Zitat antworten
  #4 (permalink)  
Alt 31-07-2007, 16:41
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

überprüfe doch, welche farben in dem eingelesenen bild vorkommen.
Mit Zitat antworten
  #5 (permalink)  
Alt 31-07-2007, 16:46
ComicKopf
 Registrierter Benutzer
Links : Onlinestatus : ComicKopf ist offline
Registriert seit: Feb 2003
Beiträge: 89
ComicKopf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich habe zum Ausprobieren des Scripts erstmal ein einfaches Bild mit den Farben schwarz und weiß mit einem Grafkprogramm erstellt.
Also die Farben sind dementsprechend schon bekannt.
Trotzdem ersetzt er Sie nicht.

Oder muss ich die Farben erst durch eine spezielle Funktion aus dem Bild ermitteln? Ich dachte dies sei durch imagecolorallocate gewährleistet.
Mit Zitat antworten
  #6 (permalink)  
Alt 31-07-2007, 16:48
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

überprüfe lieber mit imagecolorat(), welche farben php sieht.
Mit Zitat antworten
  #7 (permalink)  
Alt 31-07-2007, 17:20
ComicKopf
 Registrierter Benutzer
Links : Onlinestatus : ComicKopf ist offline
Registriert seit: Feb 2003
Beiträge: 89
ComicKopf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Klasse!

Danke schonmal. Habe etwas damit rumprobiert und es nun hinbekommen, dass er die Farbe ändert.

Allerdings ist das Problem damit noch nicht ganz behoben. Ich muss ja jetzt angeben, WO er die Farbpalette ermitteln soll. Es sollte aber eigentlich so laufen, das ich ihm die zu ersetzende Farbpalette sage und PHP dementsprechend alle Flächen ersetzt...

Gibt es da vllt eine Möglichkeit, wie ich ohne Pixelangaben machen zu müssten die Farbpalette festlegen kann?



Habe mir jetzt auch mal mit imagecolorallocate den Palttenindex ausgeben lassen. Weiß war 1, schwarz 0, und wenn ich mit imagecolorallocate die Farbe schwarz (0,0,0) nachfrage, gibt er mit 2 aus...

Wieso ist denn das eine neue Palette?


Geändert von ComicKopf (31-07-2007 um 17:23 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 31-07-2007, 17:22
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Danke schonmal. Habe etwas damit rumprobiert und es nun hinbekommen, dass er die Farbe ändert.
und wie?
Zitat:
... so laufen, das ich ihm ...
www.das-dass.de
Zitat:
Gibt es da vllt eine Möglichkeit, wie ich ohne Pixelangaben machen zu müssten die Farbpalette festlegen kann?
du meinst mit der maus einen pixel auswählen? das geht mit js, soweit ich weiß.
Mit Zitat antworten
  #9 (permalink)  
Alt 31-07-2007, 17:29
ComicKopf
 Registrierter Benutzer
Links : Onlinestatus : ComicKopf ist offline
Registriert seit: Feb 2003
Beiträge: 89
ComicKopf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wie:
Ich habe imagecolorallocate auf deinen Hinweis hin in imagecolorat geändert.
Dadurch hat er die richtige Farbpalette gefunden und genau wie gewünscht ersetzt.

Habe mir jetzt auch mal mit imagecolorallocate den Palettenindex ausgeben lassen. Weiß war 1, schwarz 0, und wenn ich mit imagecolorallocate die Farbe schwarz (0,0,0) nachfrage, gibt er mir 2 aus...


Ich meinte nicht, dass man die Pixel mit der Maus auswählen soll, sondern dass (richtig?) man einfach die zu ersetzende Farbe angibt.
Mit Zitat antworten
  #10 (permalink)  
Alt 31-07-2007, 17:46
ComicKopf
 Registrierter Benutzer
Links : Onlinestatus : ComicKopf ist offline
Registriert seit: Feb 2003
Beiträge: 89
ComicKopf ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ok, ich habs geschafft...

ich habe dank deiner Hilfestellungen die Funktion imagecolorexact gefunden und verstanden, die genau mein Problem löst!
Danke!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

ModuleStudio ansehen ModuleStudio

Modellgetriebene Entwicklung von Erweiterungen für das Open Source Framework Zikula.

15.01.2019 Guite | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
FAQ Script PHP ansehen FAQ Script PHP

FAQ Script PHP is a simple knowledgebase script and you could use it as a Frequently Asked Question section on your website. It is written in PHP and MySQL.

14.01.2019 nevenov | Kategorie: PHP/ FAQ
Admidio Mitgliederverwaltung

Admidio ist eine kostenlose Online-Mitgliederverwaltung, die für Vereine, Gruppen und Organisationen optimiert ist. Sie besteht neben der Mitgliederverwaltung aus einer Vielzahl an Modulen (Foto-, Download-, Terminverwaltung), die in eine neue oder besteh

08.01.2019 webmaster52@ | Kategorie: PHP/ Groupware
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:28 Uhr.