powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Текст вертикально в Crystal Reports
3 сообщений из 3, страница 1 из 1
Текст вертикально в Crystal Reports
    #32258496
karly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Облазил уже все настройки, не могу найти:
как в Crystal Reports вывести текст вертикально?
И поле, и просто текст (label)? Т.е. нужно не так

Т
Е
К
С
Т


а чтобы и буквы повернулись на 90 град.

Не слишком путанно объяснил? :)
...
Рейтинг: 0 / 0
Текст вертикально в Crystal Reports
    #32259163
karly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за внимание, сам разобрался.
Искать надо было не в меню Format Field,
а в Paragraph Formatting :)
...
Рейтинг: 0 / 0
Текст вертикально в Crystal Reports
    #32260614
й
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот забавная функция. можно крутить текст, как пожелаешь
Код: plaintext
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.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
#include <Xlib.h>
#include <math.h>

XDrawString(Display *display,Drawable dw,GC gc,int x,int y,char * ss, int sz,double angl)
{

XPoint *p;
Pixmap tmp_pix;
GC t_gc;
XImage *image;

double sv  = sin(angl);
double cv  = cos(angl);
double sh  = sin(angl+M_PI);
double ch  = cos(angl);

if (fabs(sv) <  0 . 0001 ) sv =  0 ;
if (fabs(cv) <  0 . 0001 ) cv =  0 ;
if (fabs(sh) <  0 . 0001 ) sh =  0 ;
if (fabs(ch) <  0 . 0001 ) ch =  0 ;


t_gc=XCreateGC(display,dw, 0 ,NULL);
XCopyGC(display,gc,0x007fffff,t_gc);

XGCValues v;
XGetGCValues(display,gc,GCFont,&v);
XFontStruct *f;
f=XQueryFont(display,v.font);


int height_c= 10 ;
int width_p= 10 ;

if(f!= 0 ) {
	height_c=f->max_bounds.ascent + f->max_bounds.descent;
  	width_p  = XTextWidth(f,  "W" ,  1 ) +  1 ;
}

int yb = height_c - f->descent;

int wd=sz*width_p+ 5 ;
int hg=height_c;

tmp_pix= XCreatePixmap(display, dw,wd,hg, 8 );
XSetForeground(display,t_gc,WhitePixel(display, 0 ));
XFillRectangle(display,tmp_pix,t_gc,  0 ,  0 ,wd,hg);
XSetForeground(display,t_gc,BlackPixel(display, 0 ));
XSetBackground(display,t_gc,WhitePixel(display, 0 ));

XDrawString(display,tmp_pix,t_gc, 0 ,yb,ss,sz);
image = XGetImage(display,tmp_pix,  0 ,  0 ,wd,hg, 1 ,XYPixmap);

p=new (XPoint) [wd*hg];
if(p== 0 )return;
int q= 0 ;
double xt;
double xn = x;
double yt;
double yn = y;


for(int i= 0 ;i<hg;i++) {
	xt=xn;
	yt=yn;
	for(int j= 0 ;j<wd;j++) {
		if(XGetPixel(image,j,i) == BlackPixel(display, 0 )) {
			p[q].x=xt;
			p[q].y=yt-hg*cv;
			++q;
		}
		xt+=ch;
		yt+=sh;
	}
	xn+=sv;
	yn+=cv;
}
XDrawPoints(display, dw,gc,p,q, CoordModeOrigin);
delete [] p;
XFreeGC(display,t_gc);
return;
}
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Текст вертикально в Crystal Reports
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]