Text auf Zeichenblatt

  • Antworten:5
  • Bentwortet
Robbiani Renato
  • Forum-Beiträge: 609

27.03.2019, 18:00:05 via Website

Hallo zusammen

Ich möchte auf einem Zeichenblatt (canvas) einen Text ausgeben. Doch es erscheint einfach nichts.

Die Farbe habe ich wie folgt definiert:

zeichenfarbe.setAntiAlias(true);
    zeichenfarbe.setColor(Color.WHITE);
    zeichenfarbe.setStyle(Paint.Style.FILL);

Wenn ich nun den Text ausgebe erscheint einfach nichts.

canvas.drawText("Test", 1, 1, zeichenfarbe);

Wenn ich aber folgendes schreibe stürzt das Programm ab.

canvas.drawText("Test", 1, 1, 10, 10,zeichenfarbe);

Was mache ich nur falsch?

Gruss Renato

Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

27.03.2019, 18:13:37 via Website

Wenn ich aber folgendes schreibe stürzt das Programm ab.

Was ist der genaue Error Log?

Vermutlich musst du aber noch die Textgröße vorher errechnen:
https://stackoverflow.com/a/31367697/4975457

Oder: Schreibst du hier weiss auf Weiss? Da die Schrift weiss ist?

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

27.03.2019, 18:17:55 via Website

Ciao Pascal

Nein der Hintergrund ist schwarz. Aber ich versuche es mal mit der Grösse vom Text.

Gruss Renato

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

27.03.2019, 18:24:33 via Website

Ciao Pascal

Ich habe dein Beispiel nach gebaut. Erscheint immer noch nichts möglicherweise liegt das Problem ganz wo anders.

Gruss Renato

Hilfreich?
Kommentieren
Robbiani Renato
  • Forum-Beiträge: 609

27.03.2019, 18:30:42 via Website

Ciao Pascal

Fehlalarm! Wenn ich die richtige Paint verwende erscheint der Text in der Mitte.

Gruss Renato

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

27.03.2019, 22:45:36 via Website

Hallo du willst deinen Text wohl oben links ausgeben. Das Koordinaten System von canvas beginnt bei android oben links mit 0,0.
Nun ist es bei der drawtext Methode so das der Start des Textes auf der gedachten Text Zeile beginnt. Also links unten vom Text. Du hast aber die Position 1,1 gewählt somit würde der Text oberhalb des Bildschirms erscheinen was natürlich nicht geht.
Deshalb siehst du nichts.

Benutze mal zb 100,100 als position.

— geändert am 27.03.2019, 23:32:02

Hilfreich?
Kommentieren