IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Вывод текста боком и вверх ногами, в графическом режиме...
сообщение
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 346
Пол: Мужской
Реальное имя: Иван

Репутация: -  7  +


Проблема возникла там где не ждали....
Необходимо в графическом режиме вывести текст верх ногами, и боком, не сверху вниз, а именно боком... процедуры такой я в модуле Graph не нашол(может плохо искал?), но надобность существует, без этого никак не обойтись, ...
Выводить нужно лишь цыфры и знак $.
Подскажите как можна решить подобную проблему? unsure.gif

хотя насчет вверх ногами наверно можна и без этого....
Но боком всёрамно нужно...

Сообщение отредактировано: RathaR -


--------------------
Считающий себя единственым здравомыслящим человеком сумасшедший? Если да, возможно я псих...
Пусть умолкнет всякий критик!
Я - системный аналитик!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
а розбирать в том модуле одну процедуру, самому переписывать, - черт ногу сломит.
Ну во-первых, изобретение велосипеда здесь не надо... Мало ли чего нет в модуле Graph... Добавляешь функционал. Я бы включил прямо модуль f_grtext целиком, если бы столкнулся с такой проблемой. Все равно без написания своих модулей при программировании Монополии (да еще с прицелом на обучение) ты не обойдешься. Какая разница, подключать 2 модуля или 3?

Если хочется все-таки изобрести велосипед - вот тебе набросок. Обрати внимание: в программе есть массив, куда можно выделить память и сохранить образы перевернутых символов (через GetMem + GetImage). А потом, при необходимости вывести "перевернутую" строку, надо будет посимвольно делать PutImage, каждый раз высчитывая позицию очередного символа...

uses graph;
type
angle = (_90, _180, _270);

var
gd, gm, err: integer;
s: string;

images: array[1 .. 11, angle] of pointer;
centerx, centery, width, height: integer;
i, X, Y, dx, dy: integer;

begin
initgraph(gd, gm, '');
err := graphresult;
if err <> grok then begin
writeln('error: ' + grapherrormsg(err));
readln; halt(100);
end;

s := '0123456789$';

centerx := getmaxx div 2; centery := getmaxy div 2;
width := textwidth('W') + 4; height := textheight('W') + 4;

settextjustify(centertext, centertext);
for i := 1 to length(s) do begin
cleardevice;
outtextxy(getmaxx div 2, getmaxy div 2, s[i]);

{ 1: 90 degrees clockwise }
dy := 0;
for x := centerx - (width div 2) to centerx + (width div 2) do begin
dx := 0;
for y := centery + (height div 2) downto centery - (height div 2) do
begin
putpixel(25 + dx, 25 + dy, getpixel(x, y)); inc(dx);
end;
inc(dy);
end;

{ 2: 180 degrees }
dx := 0;
for x := centerx + (width div 2) downto centerx - (width div 2) do begin
dy := 0;
for y := centery + (height div 2) downto centery - (height div 2) do
begin
putpixel(50 + dx, 25 + dy, getpixel(x, y)); inc(dy);
end;
inc(dx);
end;

{ 3: 270 degrees clockwise }
dy := 0;
for x := centerx + (width div 2) downto centerx - (width div 2) do begin
dx := 0;
for y := centery - (height div 2) to centery + (height div 2) do
begin
putpixel(75 + dx, 25 + dy, getpixel(x, y)); inc(dx);
end;
inc(dy);
end;

readln;
end;

closegraph;
end.
А теперь скажи, оно тебе надо? Ты опять зацикливаешься на мелочах. У Фаронова уже есть решение, что тебе мешает его использовать? Когда перейдешь на Дельфи, то VCL тоже будешь переписывать сам, чтоб чужими наработками не пользоваться? Глупо. Так ты свою Монополию будешь годами писать. Ну, в принципе, дело твое... Хочешь - линиями рисуй, хочешь вообще поточечно...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
RathaR   Вывод текста боком и вверх ногами   13.08.2009 15:32
volvo   У Фаронова в модуле F_GRTEXT.PAS есть процедура Ou…   13.08.2009 15:54
RathaR   У Фаронова в модуле F_GRTEXT.PAS есть процедура O…   14.08.2009 3:34
volvo   Ну во-первых, изобретение велосипеда здесь не надо…   14.08.2009 5:14
volvo   Если надо - вот еще один велосипед, гораздо более …   15.08.2009 0:09
RathaR   Если надо - вот еще один велосипед, гораздо более…   15.08.2009 14:03
RathaR   возникла ещё одна неувязочка с этой процедурой :un…   20.08.2009 0:44
volvo   Это ты сейчас про какую процедуру? Из 5-го поста, …   20.08.2009 1:04
RathaR   Это ты сейчас про какую процедуру? Из 5-го поста,…   20.08.2009 1:10
volvo   Это невозможно. Я реализовал стандартный шрифт 8*1…   20.08.2009 1:26
RathaR   Это невозможно. Я реализовал стандартный шрифт 8*…   20.08.2009 1:40
lapp. Опять меня выкинул IE8 :   приложить усилия, которые несравнимы с результатом…   20.08.2009 2:16
RathaR   Рассматривай получение опыта и знаний как результ…   20.08.2009 2:22
RathaR   Впринципе вопрос можна считать решённым: попробова…   20.08.2009 3:30


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 7.09.2025 14:19
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name