Autor Beitrag
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 10.03.19 08:33 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Chiyoko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 296
Erhaltene Danke: 7

Win 98, Win Xp, Win 10
C# (VS 2017)
BeitragVerfasst: Di 12.03.19 18:05 
Hallo,

wenn du den Text schon per GDI renderst, muss die Drehung mit Delphi gemacht werden?

Rotating lines of text

Ansonsten wird doch üblicherweise auf eine Bitmap oder ein Rectangle/Panel etc gezeichnet und dann gedreht.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 13.03.19 14:44 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Chiyoko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 296
Erhaltene Danke: 7

Win 98, Win Xp, Win 10
C# (VS 2017)
BeitragVerfasst: Mi 13.03.19 15:04 
Und wenn du den Formatparameter DT_CENTER setzt, anstatt wilde Berechnungen anzugehen?
Kann den Code momentan nicht testen, daher nur Hinweise.
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 13.03.19 15:09 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Fiete
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 521
Erhaltene Danke: 222

W7
Delphi 6 pro
BeitragVerfasst: Fr 15.03.19 18:43 
Moin Frühlingsrolle,
habe eine Demo gefunden: Kochbuch Delphi6 von Doberenz.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
procedure DC_TextOut(x,y,winkel,groesse:integer;txt:string);
var hfont, fontold : integer;
    dc             : hdc;
    fontname       : string;

begin
     if length(txt)= 0 then exit;
     dc := Screen.ActiveForm.Canvas.handle;
     SetBkMode(dc,transparent);
     fontname := Screen.ActiveForm.Canvas.font.name;
     hfont   := CreateFont(-groesse,0,winkel*10,0,fw_normal,0,0,0,1,4,$10,2,4,PChar(fontname));
     fontold := SelectObject(dc,hfont);
     TextOut(dc,x,y,PChar(txt),length(txt));
     SelectObject(dc, fontold);
     DeleteObject(hfont);
end;

procedure TForm1.FormResize(Sender: TObject);
var i,n,x,y : integer;
begin
    refresh;
    n := 60;
    i := 0;
    x := clientwidth div 2;
    y := clientheight div 2;
    while i < 500 do begin
        If n > 10 Then Dec(n,2Else If n > 2 Then dec(n);
        DC_textout(x, y, i, n, '         rotierender Text');
        Inc(i,15);
    end;
end;


Mußt Du mal testen.
Gruß Fiete

_________________
Fietes Gesetz: use your brain (THINK)
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 15.03.19 19:16 
- Nachträglich durch die Entwickler-Ecke gelöscht -
Chiyoko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 296
Erhaltene Danke: 7

Win 98, Win Xp, Win 10
C# (VS 2017)
BeitragVerfasst: Mo 18.03.19 10:21 
In C# reicht es aus, die Transformationsmatrix zu ändern.
Da auch andere Sprachen auf s selbe System zugreifen, sollte es bei Delphi ja was ähnliches geben.

Graphics.RotateTransform() / TranslateTransform()
Frühlingsrolle
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 22.03.19 16:00 
- Nachträglich durch die Entwickler-Ecke gelöscht -