IpHtml von v128 auf v144
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
IpHtml von v128 auf v144
Hallo folgendes Problem.
In den vorherigen IpHtml Versionen konnte das Problem (keine Transparente Tabellen) durch den
Patches http://www.lazarusforum.de/viewtopic.ph ... 8&start=15 von Pluto realisiert werden.
Nun hat sich das IpHtml geändert und die Tabellen sind wieder Weiß.
Ich habe schon an vielen Stellen probiert, jedoch ohne Ergebnis.
Wie ist denn die Transparente Farbe?
Wenn ich z.B. in Zeile 9930 TrBgColor := BgColor auf -1, oder 1 ändere wird die Farbe Weiß oder Schwarz auch dargestellt.
Welcher Parameter wäre dann für Transparenz?
Bitte um Hilfe.
In den vorherigen IpHtml Versionen konnte das Problem (keine Transparente Tabellen) durch den
Patches http://www.lazarusforum.de/viewtopic.ph ... 8&start=15 von Pluto realisiert werden.
Nun hat sich das IpHtml geändert und die Tabellen sind wieder Weiß.
Ich habe schon an vielen Stellen probiert, jedoch ohne Ergebnis.
Wie ist denn die Transparente Farbe?
Wenn ich z.B. in Zeile 9930 TrBgColor := BgColor auf -1, oder 1 ändere wird die Farbe Weiß oder Schwarz auch dargestellt.
Welcher Parameter wäre dann für Transparenz?
Bitte um Hilfe.
Re: IpHtml von v128 auf v144
So wie ich den den verlinkten Thread verstehe, waren das Änderungen am lokalen Source-Code, die nicht in die offizielle Version eingepflegt wurden, weil niemand einen Patch für den Bugtracker eingereicht hat. Daher gehen deine Änderungen am Source-Code beim Installieren einer neuen Lazarus-Version verloren. --> Einfach in deiner aktuellen Version wiederholen.
Poste hier doch mal ein Beispiel-Projekt, in dem man das geschilderte Problem nachvollziehen kann. Bitte nur absolutes Minimalbeispiel, und keine exe, ppu etc, sondern nur pas, lfm, lpi und lpr-Dateien, zusammen in 1 zip gepackt. Bitte auch html-Datei beifügen, die im Browser korrekt angezeigt wird. Dann kann ich mir das mal ansehen, ich habe vor kurzem einige Änderungen am iPro vorgenommen und finde mich so halbwegs zurecht.
Poste hier doch mal ein Beispiel-Projekt, in dem man das geschilderte Problem nachvollziehen kann. Bitte nur absolutes Minimalbeispiel, und keine exe, ppu etc, sondern nur pas, lfm, lpi und lpr-Dateien, zusammen in 1 zip gepackt. Bitte auch html-Datei beifügen, die im Browser korrekt angezeigt wird. Dann kann ich mir das mal ansehen, ich habe vor kurzem einige Änderungen am iPro vorgenommen und finde mich so halbwegs zurecht.
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: IpHtml von v128 auf v144
Hallo ,wp_xyz hat geschrieben:So wie ich den den verlinkten Thread verstehe, waren das Änderungen am lokalen Source-Code, die nicht in die offizielle Version eingepflegt wurden, weil niemand einen Patch für den Bugtracker eingereicht hat. Daher gehen deine Änderungen am Source-Code beim Installieren einer neuen Lazarus-Version verloren. --> Einfach in deiner aktuellen Version wiederholen.
Poste hier doch mal ein Beispiel-Projekt, in dem man das geschilderte Problem nachvollziehen kann. Bitte nur absolutes Minimalbeispiel, und keine exe, ppu etc, sondern nur pas, lfm, lpi und lpr-Dateien, zusammen in 1 zip gepackt. Bitte auch html-Datei beifügen, die im Browser korrekt angezeigt wird. Dann kann ich mir das mal ansehen, ich habe vor kurzem einige Änderungen am iPro vorgenommen und finde mich so halbwegs zurecht.
es geht um die Transparents des Hintergrundes einer Tabelle in einem HTML-File.
Ein Patch würde mir auch genügen, ich bekomme es einfach nicht hin, da die neue IPHTML anders aufgebaut ist.
Die IPHTML- Datei von v128 funktioniert leider nicht in v144.
Habe viele versuche vorgenommen, bekomme es aber nicht hin.
Eventuell kennt sich ja jemand aus, der weis, wo genau man eine Änderung durchführen muß.
Hier ein Beispiel die das Verdeutlicht. Gruß
Re: IpHtml von v128 auf v144
Ich füge in der Anlage einen Patch bei, der dafür sorgt, dass ein Hintergrundbild nicht mehr von der Tabelle übermalt wird. Der Patch ist allerdings auf die aktuelle Version bezogen, so dass ich die wesentlichen Änderungen hier nochmals in Detail aufführe - ich hoffe, du kannst die Stellen in der von dir verwendeten Version finden:
Es wäre schön, wenn du den Patch testen könntest, nicht nur hinsichtlich der Transparenz, sondern auch allgemein bzl. der Hintergrundfarben. Nach meinen eigenen Tests sollte das "bgcolor"-Attribut im <table>, <th> und <td>-Tag funktionieren. Im <tr> geht's nicht, auch nicht als "background-color" im style. (--> da gibt's noch zu tun...)
Code: Alles auswählen
// Datei "IpHtml.pas":
procedure TIpHtmlNodeTABLE.Draw(Block: TIpHtmlNodeBlock);
var
z, i, j : Integer;
R : TRect;
Al : TIpHtmlVAlign3;
TRBgColor, TrTextColor: TColor;
aCanvas : TCanvas;
begin
aCanvas := Owner.Target;
{ Diesen Teil ...
if (Props.BGColor <> -1) and PageRectToScreen(BorderRect, R) then begin
aCanvas.Brush.Color := Props.BGColor;
aCanvas.FillRect(R);
end;
}
// ... ersetzen durch ...
if (BGColor <> -1) and PageRectToScreen(BorderRect, R) then begin
aCanvas.Brush.Color := BgColor;
aCanvas.FillRect(R);
end else
if (BGColor = -1) then
aCanvas.Brush.Style := bsClear;
{ Ende der Ersetzung }
aCanvas.Pen.Color := clBlack;
...
// Datei "IpHtmlBlockLayout.pas"
procedure TIpNodeTableElemLayouter.Render(RenderProps: TIpHtmlProps);
var
R : TRect;
begin
Props.Assign(RenderProps);
Props.DelayCache:=True;
{$IFDEF IP_LAZARUS}
FOwner.LoadAndApplyCSSProps;
{$ENDIF}
// if FTableElemOwner.BgColor <> -1 then // Diese Zeile entfernen!
Props.BgColor := FTableElemOwner.BgColor;
....
if FOwner.PageRectToScreen(FTableElemOwner.PadRect, R) then
begin
if (Props.BgColor <> -1) then
begin
FIpHtml.Target.Brush.Color := Props.BGColor;
FIpHtml.Target.FillRect(R);
{ das "end;" ersetzen durch... }
end else // statt dem "end;"
FIpHtml.Target.Brush.Style := bsClear; // neu
end;
- Dateianhänge
-
turbopower_ipro.patch.zip
- (769 Bytes) 95-mal heruntergeladen
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: IpHtml von v128 auf v144
Ja, wp_xyz hat leider recht, ich habe es nicht auf die Reihe bekommen, ein Patch einzureichen. Inzwischen müsste ich mich auch wieder erneut Einarbeiten.
Aber du müsstest wohl nur auf clNone stellen, die Hintergrundfarbe.
Wenn das nicht geht, müsste ich mir das noch mal anschauen.
Aber du müsstest wohl nur auf clNone stellen, die Hintergrundfarbe.
Wenn das nicht geht, müsste ich mir das noch mal anschauen.
MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: IpHtml von v128 auf v144
Vielen Dank!!!!!wp_xyz hat geschrieben:
Es wäre schön, wenn du den Patch testen könntest, nicht nur hinsichtlich der Transparenz, sondern auch allgemein bzl. der Hintergrundfarben. Nach meinen eigenen Tests sollte das "bgcolor"-Attribut im <table>, <th> und <td>-Tag funktionieren. Im <tr> geht's nicht, auch nicht als "background-color" im style. (--> da gibt's noch zu tun...)
Es funktioniert!
Ich setze mittels Tabbele ca. 10 Bilder zusammen wobei der Hintergrund jetzt wieder zu sehen ist.
DANKE
Gruß
Re: IpHtml von v128 auf v144
Ich glaube nicht, dass es so geht. In der Komponente wird durchgehend der Wert "-1" als Leerfarbe, d.h. als transparent, behandelt. Das Problem ist, dass dieser Wert zunächst auch verwendet wird, aber während der Routinen bis zur Ausgabe mit clWhite überschrieben wird; gerade bei Tabellen, wo viele Einzelelemente zusammenspielen, ist das leider recht unübersichtlich.pluto hat geschrieben:Aber du müsstest wohl nur auf clNone stellen, die Hintergrundfarbe.
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Re: IpHtml von v128 auf v144
Mich hat die Struktur Verrück gemacht, da es für jeden HTML Tag eine bzw. zwei Klassen gab/gibt.Es wäre schön, wenn du den Patch testen könntest, nicht nur hinsichtlich der Transparenz, sondern auch allgemein bzl. der Hintergrundfarben. Nach meinen eigenen Tests sollte das "bgcolor"-Attribut im <table>, <th> und <td>-Tag funktionieren. Im <tr> geht's nicht, auch nicht als "background-color" im style. (--> da gibt's noch zu tun...)
Ich müsste jetzt nach schauen, du könntest auch den Brush.style auf bsClear stellen. Bin mir aber nicht sicher ob das läuft.Ich glaube nicht, dass es so geht. In der Komponente wird durchgehend der Wert "-1" als Leerfarbe, d.h. als transparent, behandelt. Das Problem ist, dass dieser Wert zunächst auch verwendet wird, aber während der Routinen bis zur Ausgabe mit clWhite überschrieben wird; gerade bei Tabellen, wo viele Einzelelemente zusammenspielen, ist das leider recht unübersichtlich.
Edit1: Gerade gesehen, machst du sogar

MFG
Michael Springwald
Michael Springwald
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: IpHtml von v128 auf v144
Hallo Pluto,pluto hat geschrieben: Ich müsste jetzt nach schauen, du könntest auch den Brush.style auf bsClear stellen. Bin mir aber nicht sicher ob das läuft.
Edit1: Gerade gesehen, machst du sogar
ich benutze bis auf die Tabellen ziemlich Primitive HTML-Files.
Sogar runde Ausgeschnittene Bilder im GIF - Format werden Transparent dargestellt wie es sein soll.
Gedruckt werden Sie auch ohne Hintergrund richtig.
Also für das wie ich sie Verwenden will klappt es erst mal mit dem Patch.
Ihr könnt ja das Problem wie auch immer für die Nächste Version vormeken.
Hauptsache es geht erst ein mal.
Danke.
Re: IpHtml von v128 auf v144
@hbr: Ich habe jetzt eine korrigierte Version von TurboPower iPro hochgeladen und für Version 1.6 angemeldet. In dieser Version werden die durch "bgcolor" gesetzten Hintergrundfarben von <table>, <tr>, <th> und <td> Elementen berücksichtigt. Entsprechend wird, wie von dir gewünscht, explizit kein Hintergrund gezeichnet, wenn "bgcolor" nicht verwendet wird, so dass der Hintergrund des HTML-Dokuments sichtbar bleibt. Das ganze ist etwas anders gelöst als weiter oben vorgeschlagen, und sollte nun aber auch für den Zeilenhintergrund funktionieren. Für Tests wäre ich aber dankbar. NB: Eine im Style definierte Hintergrundfarbe wird aber noch weiterhin ignoriert.
-
- Beiträge: 321
- Registriert: Mi 20. Feb 2013, 10:30
- OS, Lazarus, FPC: Win (L 2.2.4 FPC 3.2.2)
- CPU-Target: 32/64,ARM(RPi)
Re: IpHtml von v128 auf v144
Hallo, wo hochgeladen?wp_xyz hat geschrieben:@hbr: Ich habe jetzt eine korrigierte Version von TurboPower iPro hochgeladen und für Version 1.6 angemeldet.
Gruß
Re: IpHtml von v128 auf v144
Aktualisiere deine Lazarus-Installation mit svn, falls du die Trunk-Version verwendest. Ansonsten kannst du die wenigen gegenüber deiner Version geänderten Dateien von http://svn.freepascal.org/cgi-bin/viewv ... ot=lazarus einzeln herunterladen und das Package neu kompilieren. Oder du wartest ein paar Tage auf auf den RC2 von Lazarus 1.6.
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: IpHtml von v128 auf v144
@xp_xyz kümmerst du dich aktiv um Ipro ?
kann ich bei dir jetzt Patches einreichen ?
kann ich bei dir jetzt Patches einreichen ?
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Re: IpHtml von v128 auf v144
Ja, aber "aktiv" heißt, dass ich mich zu nichts verpflichtet fühle und jederzeit wieder damit aufhören kann, wenn mir die Sache über den Kopf wächst... Und reiche Patches nicht per PN an mich ein, sondern primär über den Bugtracker, es sei denn der englische Report fällt dir schwer, dann kannst du auch hier im Forum einen Beitrag starten. Hast du was auf Eis liegen?
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Re: IpHtml von v128 auf v144
Schade ich dacht ich kann dir was per Mail schicken, der Bugtracker nervt einfach nur. Ich muss jedesmal meinen proxy umgehen da der Bugtarcker alles was kein Referer Feld mitschickt ablehnt. Vor 2 Jahren hat er mal meine Zugangsdaten vergessen u.s.w.
Ja ich hab noch irgendwo ein paar kleine Änderungen die Exceptions und Endlosschleifen verhindern liegen muss ich aber erstmal zusammensuchen.
Ja ich hab noch irgendwo ein paar kleine Änderungen die Exceptions und Endlosschleifen verhindern liegen muss ich aber erstmal zusammensuchen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/