Delphi-PRAXiS
Seite 4 von 10   « Erste     234 56     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi (https://www.delphipraxis.net/196768-anzeige-farbiger-emoji-unicode-zeichen-mit-segoe-ui-emoji-schrift-delphi.html)

TiGü 18. Jun 2018 19:06

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Dftt! 🤔🤗🙄

Der schöne Günther 18. Jun 2018 20:05

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Vielleicht wird das ja noch eines Tages nachgerüstet. In UWP-Anwendungen ist es trivial. Aber 3rd-Party-Browser können es ja auch, wenn auch nicht überall. Ich frage mich wie die das machen...

Redeemer 18. Jun 2018 20:47

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1405138)
Vielleicht wird das ja noch eines Tages nachgerüstet. In UWP-Anwendungen ist es trivial. Aber 3rd-Party-Browser können es ja auch, wenn auch nicht überall. Ich frage mich wie die das machen...

Die liefern die Smileys mit, ich denke mal als SVG. Wenn du 2623 SVG-Dateien mitliefern willst - nur zu.

Uwe Raabe 18. Jun 2018 23:41

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von MaBuSE (Beitrag 1405116)
Aber ich hatte ja die Hoffnung, das das Delphi schon kann und man es nur einschalten muss.

So ganz aus dem Stand noch nicht, aber wenn man die
Delphi-Quellcode:
TDirect2DCanvas
ableitet und
Delphi-Quellcode:
TextOut
geringfügig modifiziert:

Uwe Raabe 18. Jun 2018 23:44

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Hier noch der Quelltext der Form-Unit:
Delphi-Quellcode:
unit Unit299;

interface

uses
  Vcl.Forms;

type
  TForm299 = class(TForm)
    procedure FormPaint(Sender: TObject);
  public
  end;

var
  Form299: TForm299;

implementation

uses
  Winapi.D2D1,
  System.Win.ComObj,
  Vcl.Graphics, Vcl.Direct2D;

{$R *.dfm}

type
  TMyCanvas = class(TDirect2DCanvas)
  public
    procedure TextOut(X, Y: Integer; const Text: string); override;
  end;

procedure TMyCanvas.TextOut(X, Y: Integer; const Text: string);
var
  TextRange: TDwriteTextRange;
  TextLayout: IDWriteTextLayout;
  TextMetrics: TDWriteTextMetrics;
begin
  OleCheck(DWriteFactory.CreateTextLayout(PWideChar(Text), Length(Text),
    Font.Handle, 0, 0, TextLayout));
  TextRange.startPosition := 0;
  TextRange.length := Length(Text);
  if fsUnderline in Font.Style then
    TextLayout.SetUnderline(True, TextRange);

  if fsStrikeOut in Font.Style then
    TextLayout.SetStrikethrough(True, TextRange);

  TextLayout.SetWordWrapping(DWRITE_WORD_WRAPPING_NO_WRAP);

  RequiredState([csHandleValid, csFontValid, csBrushValid]);
  if Brush.Style <> bsClear then
  begin
    TextLayout.GetMetrics(TextMetrics);
    RenderTarget.FillRectangle(D2D1RectF(X, Y,
      X+TextMetrics.widthIncludingTrailingWhitespace,
      Y+TextMetrics.height), Brush.Handle);
  end;

  RenderTarget.DrawTextLayout(D2D1PointF(x-0.5, y-0.5), TextLayout,
    Font.Brush.Handle, 4);
end;

procedure TForm299.FormPaint(Sender: TObject);
var
  FD2DCanvas: TDirect2DCanvas;
begin
  FD2DCanvas := TMyCanvas.Create(Canvas.Handle, ClientRect);
  try
    FD2DCanvas.BeginDraw;
    FD2DCanvas.TextOut(10, 10, '&#128525;&#128512;&#128522;&#128540;&#9785;&#128528;&#128517;&#128526;&#10084;&#128536;&#128514;&#128515;&#128139;&#128150;&#128523;&#128557;&#128519;&#128580;&#128169;&#128584;&#128585;&#128586;&#128286;');
    FD2DCanvas.EndDraw;
  finally
    FD2DCanvas.Free;
  end;
end;

end.

EWeiss 18. Jun 2018 23:51

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
@Uwe.. Kurz und knapp :thumb::thumb::thumb: verdient.
Das musste jetzt sein.

gruss

KodeZwerg 19. Jun 2018 01:20

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Ich bekomme Uwes Code nicht zum laufen, auch forciert per Knopf nicht.
Es ensteht nur ein weißes leeres Rechteck.
Windows: 7
Delphi: Tokyo 10.2.3
Text: die Unicode zeichen hab ich mit für mich lesbaren Text ersetzt ("Hallo Welt!")
Brush.Style: solid forciert
Font.Color: black forciert
Window Hintergrund: blue (damit ich überhaupt bemerke das was gemalt wurde)

EWeiss 19. Jun 2018 01:27

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von KodeZwerg (Beitrag 1405161)
Ich bekomme Uwes Code nicht zum laufen, auch forciert per Knopf nicht.
Es ensteht nur ein weißes leeres Rechteck.
Windows: 7
Delphi: Tokyo 10.2.3
Text: die Unicode zeichen hab ich mit für mich lesbaren Text ersetzt ("Hallo Welt!")
Brush.Style: solid forciert
Font.Color: black forciert
Window Hintergrund: blue (damit ich überhaupt bemerke das was gemalt wurde)

Das sollte normal sein.. Oder?
Windows 7 unterstützt keine Farbigen Fonts und erzwingen kannst du da gar nichts.

Verwende W10 oder mindestens W8.1 dann geht's.

gruss

KodeZwerg 19. Jun 2018 02:03

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Und wo in Uwes Code geht hervor das eine Windows 8.1 aufwärts Font geladen und benutzt wird?
Oder bzw welcher Code-Teil ist Windows 8.1+ exclusive?
Ich habe Font Segio UI, ob die diese Zeichen hat weiß ich nicht, ich wollte es testen dazu aber generell den Code erstmal zum laufen bringen.

EWeiss 19. Jun 2018 02:32

AW: Anzeige farbiger Emoji (unicode Zeichen) mit Segoe UI Emoji Schrift in Delphi
 
Zitat:

Zitat von KodeZwerg (Beitrag 1405165)
Und wo in Uwes Code geht hervor das eine Windows 8.1 aufwärts Font geladen und benutzt wird?
Oder bzw welcher Code-Teil ist Windows 8.1+ exclusive?
Ich habe Font Segio UI, ob die diese Zeichen hat weiß ich nicht, ich wollte es testen dazu aber generell den Code erstmal zum laufen bringen.

Sorry lasse dir das von anderen erklären es ist so wie ich sagte!
Win7 vergiss es.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:53 Uhr.
Seite 4 von 10   « Erste     234 56     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz