Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.03.13;
Скачать: CL | DM;

Вниз

TImage слои само масштабировало в зависимости от количества слоёв   Найти похожие ветки 

 
radiokarazinec ©   (2010-12-20 20:32) [0]

Нужно сделать чтобы так: вот есть у меня в Memo данные, мне надо чтобы при нажатии на кнопку визуализация на Image рисовались слои, на них писались цифры из Memo, а сами слои зарисовывались разной штриховкой, типа bsCross и другими. т.е один слой - одно число- одна штриховка, другой слой-другая штриховка,


 
v_a_belousov   (2010-12-20 21:40) [1]

Ты хочешь получить результат вроде этого http://project-w-m.narod.ru/createpicturefromtext.JPG ?


 
KilkennyCat ©   (2010-12-20 23:27) [2]

он хочет получить готовый код, а получит бан за спам.


 
v_a_belousov   (2010-12-20 23:33) [3]

Да там кода то... я просто подумал может там сложности какие то... вот и набросал для него то что на скриншоте...


 
radiokarazinec ©   (2010-12-20 23:36) [4]

нет, мне надо чтобы вот например пять значений в мемо, при нажатии на визуализация, в Image рисовались типа прямоугольньники-слои, которые в зависимости от количества значений масштабировались по размерам Image, пять значения - пять прямоугольников на весь Image? 6 -6? ну что-то типа как у  v_a_belousov , и эти прямоугольники штриховались, а в каждом прямогольнике своё значение


 
radiokarazinec ©   (2010-12-20 23:39) [5]

KilkennyCat и кстати, я не хотел спамить. просто толком никто ничего не может ответить, а мне там то осталось доделать панты, просто очень срочно надо сдать


 
v_a_belousov   (2010-12-20 23:40) [6]


> мне надо чтобы вот например пять значений в мемо, при нажатии
> на визуализация, в Image рисовались типа прямоугольньники-
> слои, которые в зависимости от количества значений масштабировались
> по размерам Image, пять значения - пять прямоугольников
> на весь Image? 6 -6

хорошо) я понимаю на рисунке не видно... но если я введу там в мемо 6 значений будет нарисовано 6 прямоугольников с надписями, введу 7 будет нарисовано 7 и так далее.

> что-то типа как у  v_a_belousov , и эти прямоугольники штриховались,
>  а в каждом прямогольнике своё значение

Видимо я не очень хорошо понимаю что в твоем понимании значит прямоугольник...


 
radiokarazinec ©   (2010-12-20 23:45) [7]

не ну вот у тебя один прямоугольник трихуется всемя видами штриховки, а мне надо что все разными, ну или хотя бы чередовались


 
v_a_belousov   (2010-12-20 23:52) [8]

Вот обновил смотри http://project-w-m.narod.ru/createpicturefromtext.JPG


 
v_a_belousov   (2010-12-20 23:53) [9]


> у тебя один прямоугольник трихуется всемя видами штриховки,
>  а мне надо что все разными, ну или хотя бы чередовались

Может я чего то не понимаю... но у меня они чередуются...


 
radiokarazinec ©   (2010-12-20 23:58) [10]

смотри, мне надо:
в мемо заносятся числа из текстового файла, отображаюся там типа
2.111
1.432
1.344
0.883
0.333
а потом аэти числа в таком же порядке в Image при нажатии на визуализацию
рисуются там, вот 2.111 в отдельном прямоуголнике, например, штриховкой bsCross? следующий 1.432 впрямоугольнике пол прямоугольнком с 2.111 и так талее, все вертикально


 
radiokarazinec ©   (2010-12-21 00:17) [11]

ты можешь показать тот код что для той программы или хотя бы сказать как это делать, но завтра надо сдать


 
v_a_belousov   (2010-12-21 00:21) [12]

А в чем проблема?

http://project-w-m.narod.ru/createpicturefromtext.JPG

Видимо вот надо да?


 
radiokarazinec ©   (2010-12-21 00:22) [13]

так это тот же скрин


 
radiokarazinec ©   (2010-12-21 00:24) [14]

надо чтобы вертикально слои-прямоугольники были


 
v_a_belousov   (2010-12-21 00:33) [15]

Вот все обновил... http://project-w-m.narod.ru/createpicturefromtext.JPG


 
radiokarazinec ©   (2010-12-21 00:36) [16]

так как та же самая картинка, ты можешь код показать?


 
radiokarazinec ©   (2010-12-21 00:37) [17]

опять слои горизонтально и числа, надо вертикально, чтобы в мемо вертикально и на картинке, а не горизонтально


 
Германн ©   (2010-12-21 00:39) [18]


> завтра надо сдать

Увы :(


 
v_a_belousov   (2010-12-21 00:42) [19]

http://project-w-m.narod.yandex.ru/PictureBuilder.exe смотри, думаю тут все так как тебе нужно. Если нет пиши мне на почту. Я отойду минут на 20, потом отвечу.


 
KilkennyCat ©   (2010-12-21 00:43) [20]


> radiokarazinec ©   (21.12.10 00:37) [17]

ты бы хоть нарисовал что хочешь, раз объяснить не получается, пока есть желающий сделать за тебя работу...


> Германн ©   (21.12.10 00:39) [18]

поколение пепси, дважды увы :((


 
v_a_belousov   (2010-12-21 01:03) [21]


> ты бы хоть нарисовал что хочешь, раз объяснить не получается

Да вот это было бы лучше) т.к. я до сих пор не могу понять что не так ему...


 
radiokarazinec ©   (2010-12-21 01:03) [22]

http://www.imagebam.com/image/9fdfee111802193


 
radiokarazinec ©   (2010-12-21 01:03) [23]

вот ссылка, как должно как бы выглядеть


 
Ega23 ©   (2010-12-21 01:09) [24]


> вот ссылка, как должно как бы выглядеть


for
TMemo.Lines
Image.Canvas
TCanvas.Brush.Style
TCanvas.TextOut

+ F1

Вроде ничего не забыл.


 
v_a_belousov   (2010-12-21 01:11) [25]


> вот ссылка, как должно как бы выглядеть

У меня в программе 1 в 1 то что ты нарисовал) ещё раз вопрос что не так?


 
radiokarazinec ©   (2010-12-21 01:14) [26]

мне надо чтобы прямоуголники вертикально рисовались а не горизонтально, можешь прогу кинуть я попробую со своей?


 
v_a_belousov   (2010-12-21 01:17) [27]

я тебе дал ссылку http://project-w-m.narod.yandex.ru/PictureBuilder.exe
Скачай и посмотри. Я ведь сделал тут и вертикально и горизонтально и с переносом строк и без...

> мне надо чтобы прямоуголники вертикально рисовались а не
> горизонтально,

А на рисунке то у тебя горизонтально...


 
v_a_belousov   (2010-12-21 01:18) [28]

http://project-w-m.narod.ru/PictureBuilder.exe извини yandex забыл убрать...


 
radiokarazinec ©   (2010-12-21 01:21) [29]

о круто, ток вот когда по строкам делаешь, то прямоугольники не разные о один и тот же с одной штриховкой


 
KilkennyCat ©   (2010-12-21 01:22) [30]


> v_a_belousov   (21.12.10 01:18) [28]

у тебя рандом иногда подряд все три значения выдает одинаковые


 
KilkennyCat ©   (2010-12-21 01:22) [31]


>  все три значения

я три строки загнал


 
v_a_belousov   (2010-12-21 01:25) [32]

Ну да я на рандом поставил) это ж было все таки для того чтобы узнать от человека что ему требуется)


 
radiokarazinec ©   (2010-12-21 01:25) [33]

ты можешь код скинуть?


 
v_a_belousov   (2010-12-21 01:33) [34]


> ты можешь код скинуть?

А где масло?)

Тебе же уже все подсказали...

> TMemo.Lines
> Image.Canvas
> TCanvas.Brush.Style
> TCanvas.TextOut

перебирай в цикле строки в мемо. Затем рисуй заданную область в  Image и выводи текст. Используй Canvas.TextOut для вывода как тебе уже сказали. Если есть вопросы, то пиши их...

а код примерно такой

for i:=0 to Memo1.Lines.Count-1 do
begin
 ...
 // вывод текста
 Image.Canvas.TextOut(x, y, Memo1.Lines.Strings[i]);
 ...
end;


 
radiokarazinec ©   (2010-12-21 01:35) [35]

че тяжело скинуть, сегодня сдавать, ну плиз. тебе ведь не тяжело


 
radiokarazinec ©   (2010-12-21 01:37) [36]

понимаешь, у меня запара с масштабным коэффициентом и чтобы каждая цифра выводилась в отдельном прямоуголгике


 
Ega23 ©   (2010-12-21 01:37) [37]


> че тяжело скинуть, сегодня сдавать, ну плиз. тебе ведь не
> тяжело


че тяжело денег заплатить, сегодня пиво покупать, ну плиз. тебе ведь не тяжело


 
radiokarazinec ©   (2010-12-21 01:39) [38]

вот мой код, подскажи что тут изменить, я его уже подшанял метом тыка

procedure TfrmMain.BitBtn1Click(Sender: TObject);
var
SL: TStringList;
 i, h, y: Integer;
 s: String;
 Rate : Double;
 Rects : array of TRect;
 Color : TColor;
begin
 SL := TStringList.Create;
 SL.Assign (Memo1.Lines);
 Image1.Picture:=nil;
with Image1.Canvas do
begin
for i := 0 to SL.Count - 1 do begin
   s := SL[i];
   h := TextHeight("|")+3;
   y :=0;
   y:=y+h;
   Color:=ClWhite;
   //Массив прямоугольников, отображающих слои и воздух
   SetLength(Rects,SL.Count+1);

   //Закрашиваем старую картинку цветом фона
   Image1.Canvas.Brush.Color := Color;
   Image1.Canvas.Pen.Color := Color;
   Image1.Canvas.FillRect(Image1.BoundsRect);

   //Определяем цвет, которым можно рисовать на созданной картинке
   Image1.Canvas.Brush.Color := clLtGray;
   Image1.Canvas.Pen.Color := clBlack;
   
   //Определяем масштабный коэффициент для пропорционального отображения слоев
   Rate := Image1.Height/i;

   Rects[0].Left := 0;
   Rects[0].Right :=Image1.Width;
   Rects[0].Top := 0;
   Rects[0].Bottom := round(i);
   Image1.Canvas.Brush.Color := $00EEEEEE; //определяем цвет заполнения
   Image1.Canvas.Rectangle(Rects[0]);

 Image1.Canvas.Pen.Color := clBlack;
 Image1.Canvas.Brush.Color := clLtGray;
 end ;
  for i:=0 to SL.Count - 1 do
   begin
     Rects[i + 1].Left := 0;
     Rects[i + 1].Right := Image1.Width;
     Rects[i + 1].Top := Rects[i].Bottom;
     Rects[i + 1].Bottom := Rects[i + 1].Top + round(h);
     
     case i mod 6 of
       0: Image1.Canvas.Brush.Style := bsCross;
       1: Image1.Canvas.Brush.Style := bsFDiagonal;
       2: Image1.Canvas.Brush.Style := bsHorizontal;
       3: Image1.Canvas.Brush.Style := bsDiagCross;
       4: Image1.Canvas.Brush.Style := bsVertical;
       5: Image1.Canvas.Brush.Style := bsBDiagonal;
     end;

   //Рисуем прямоугольник с полученными координатами
    Image1.Canvas.Rectangle(Rects[i+ 1]);

   // TextOut(1, y+2, SL[i]);
    // MoveTo(0  , y);
    // LineTo(200, y);
     y := y + h;
   end;
  // MoveTo(0  , y);
  // LineTo(200, y);
 end;

 SL.Free;
end;


 
Ega23 ©   (2010-12-21 01:39) [39]


>  и чтобы каждая цифра выводилась в отдельном прямоуголгике

к [24] добавить функцию Length. Ну и + F1 не забываем


 
Ega23 ©   (2010-12-21 01:41) [40]


> вот мой код, подскажи что тут изменить


TBitBtn заменить на стандартный TButton. Хоть нельзя картинку отрисовывать, зато как везде будет.


 
radiokarazinec ©   (2010-12-21 01:41) [41]

ичто это даст?


 
KilkennyCat ©   (2010-12-21 01:46) [42]


> ичто это даст?

в филосовском смысле - ничего... мы фсе умлем...


 
v_a_belousov   (2010-12-21 01:47) [43]

В общем вот лови... http://project-w-m.narod.ru/for_radiokarazinec.rar

Тут нет возможности как тебе нужно по горизонтали, зато для тебя хоть что то будет...


 
v_a_belousov   (2010-12-21 01:47) [44]


> Тут нет возможности как тебе нужно по горизонтали

Или по вертикали... я уже запутался... но смысл в том что с этим быстрее сделаешь


 
v_a_belousov   (2010-12-21 01:49) [45]


> radiokarazinec ©

Ничего себе у тебя кода... у меня и то наверно поменьше будет...


 
Ega23 ©   (2010-12-21 01:51) [46]


> В общем вот лови...


Завтра в резюме он напишет, что знает delphi, придёт к тебе в контору, посидит на форуме, попросит, ему также дадут код, после чего тебя уволят. Т.к. ты сидел неделю, а он за 2 дня сделал.
А в армии, тем временем, недобор. И ваххабиты не дремлють.


 
v_a_belousov   (2010-12-21 01:52) [47]


> Ega23

Я же не дал ему готовую вещь... там надо немножко подумать... ну или даже не немножко... чтобы сделать так как ему надо...


 
radiokarazinec ©   (2010-12-21 02:09) [48]

я вообще студент. Ega23


 
v_a_belousov   (2010-12-21 02:10) [49]


> я вообще студент

Тогда тем более...


 
radiokarazinec ©   (2010-12-21 02:14) [50]

спасибо огромное. буду думать!


 
Германн ©   (2010-12-21 02:15) [51]


> я вообще студент.

Был. :)
И это хорошо, что "и уже не студент!"
Нам такой хоккей не нужен!


 
v_a_belousov   (2010-12-21 02:18) [52]


> спасибо огромное. буду думать!

Ты бы лучше вопросы задавал. А то боюсь я сейчас до чего не надо додумаешься...


 
radiokarazinec ©   (2010-12-21 02:23) [53]

JvFullColorSpaces что это и то что с ним связано?


 
antonn ©   (2010-12-21 02:27) [54]

наверное автору нужно что-то типа такого http://desksoft.ru/index.php?downloads=attachments&id=306


 
radiokarazinec ©   (2010-12-21 02:27) [55]

там еслия в свою прогу то оно не знает что такое JvFullColorSpaces, JvExStdCtrls, JvCombobox,
 JvFullColorCtrls, RzCmboBx;


 
v_a_belousov   (2010-12-21 02:28) [56]


> JvFullColorSpaces что это и то что с ним связано?

Оно по моему только в uses осталось. убери. Это набор компонентов сторонних...


 
v_a_belousov   (2010-12-21 02:29) [57]


> vFullColorSpaces, JvExStdCtrls, JvCombobox,
>  JvFullColorCtrls, RzCmboBx

Убери это) а вместо RzCmboBx используй то чем ты будешь выбирать цвет... ColorDialog например...


 
radiokarazinec ©   (2010-12-21 02:30) [58]

так потом прога выдает ошибку  в стоке
Image1.Canvas.Font.Color := Text_RCCB.SelectedColor;
пишет   [Error] main.pas(243): Undeclared identifier: "Text_RCCB"
и в других что с этим связано


 
v_a_belousov   (2010-12-21 02:33) [59]


> так потом прога выдает ошибку  в стоке

логично... ты подумай... у тебя разве есть на форме Text_RCCB ???
Я же тебе говорю замени его на colordialog например...


 
radiokarazinec ©   (2010-12-21 02:35) [60]

а где его заменить, а что-то ставлю а оно ни фига, может не туда))


 
v_a_belousov   (2010-12-21 02:42) [61]


> а где его заменить

в коде


 
KilkennyCat ©   (2010-12-21 02:54) [62]


> radiokarazinec

дай свой домашний адрес. отсижу несколько лет, но ради оздоровления человечества...


 
radiokarazinec ©   (2010-12-21 02:54) [63]

да пошел ты!


 
radiokarazinec ©   (2010-12-21 02:56) [64]

я ж не на программера учусь а на радиофизика


 
antonn ©   (2010-12-21 02:58) [65]

низя посылать незнакомых людей, они могут оказаться знакомыми! :)


 
Германн ©   (2010-12-21 03:02) [66]


> radiokarazinec ©   (21.12.10 02:56) [64]
>
> я ж не на программера учусь а на радиофизика
>

Я тоже радиофизик (квантовый) по диплому.
Но нам такой хоккей не нужен!


 
KilkennyCat ©   (2010-12-21 03:04) [67]


> я ж не на программера учусь а на радиофизика

а что, человечеству нужны не умные радиофизики?


 
v_a_belousov   (2010-12-21 03:07) [68]


> я ж не на программера учусь а на радиофизика

В МИРЭА учишься?


 
v_a_belousov   (2010-12-21 03:08) [69]


> radiokarazinec ©

И все же разобрался?


 
KilkennyCat ©   (2010-12-21 03:13) [70]

А вот интересно, что не нужно знать радиофизику?
программирование не нужно.
математический анализ - тоже нафиг.
что еще?


 
Германн ©   (2010-12-21 03:20) [71]


> v_a_belousov   (21.12.10 03:07) [68]
>
>
> > я ж не на программера учусь а на радиофизика
>
> В МИРЭА учишься?
>

Это упрёк? :)


 
v_a_belousov   (2010-12-21 03:33) [72]


> Это упрёк? :)

Нет. я сам в МИРЭА начинал учится. Просто поговорка одна есть про студента МИРЭА... но из-за цензуры здесь не могу её написать...


 
Германн ©   (2010-12-21 03:36) [73]


> v_a_belousov   (21.12.10 03:33) [72]
>
>
> > Это упрёк? :)
>
> Нет. я сам в МИРЭА начинал учится. Просто поговорка одна
> есть про студента МИРЭА... но из-за цензуры здесь не могу
> её написать...
>

Принято.


 
v_a_belousov   (2010-12-21 05:42) [74]


> radiokarazinec ©

Надеюсь что ты все таки доделал уже все. Но на всякий случай вот тебе http://project-w-m.narod.ru/sozdanie_kartinki_iz_teksta.htm Тут ещё и поворот текста добавлен, но он "кривой".



Страницы: 1 2 вся ветка

Текущий архив: 2011.03.13;
Скачать: CL | DM;

Наверх




Память: 0.65 MB
Время: 0.008 c
15-1291114600
Kerk
2010-11-30 13:56
2011.03.13
Как по-английски называется таблица типа "шахматка"?


6-1235703910
Cthulex
2009-02-27 06:05
2011.03.13
Построение VoIP -приложения


2-1292760230
RUu
2010-12-19 15:03
2011.03.13
о сравнении дат в SQL


8-1210548969
без ымени
2008-05-12 03:36
2011.03.13
как проиграть одновременно 2 звука без глюков.


15-1290979780
Юрий
2010-11-29 00:29
2011.03.13
С днем рождения ! 29 ноября 2010 понедельник