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

Т
Е
К
С
Т


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

Не слишком путанно объяснил? :)
...
Рейтинг: 0 / 0
08.09.2003, 20:45
    #32259163
karly
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст вертикально в Crystal Reports
Спасибо за внимание, сам разобрался.
Искать надо было не в меню Format Field,
а в Paragraph Formatting :)
...
Рейтинг: 0 / 0
10.09.2003, 04:25
    #32260614
й
й
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст вертикально в Crystal Reports
вот забавная функция. можно крутить текст, как пожелаешь
Код: 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
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Текст вертикально в Crystal Reports / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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