Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.03.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.63 MB
Время: 0.004 c
2-1292862496
v_a_belousov
2010-12-20 19:28
2011.03.13
Авторизация в программе


2-1292846680
harisma
2010-12-20 15:04
2011.03.13
Работа с реестром в 64-разрядной ОС


15-1290170995
Юрий Зотов
2010-11-19 15:49
2011.03.13
Реальная история


1-1248865008
pan2905
2009-07-29 14:56
2011.03.13
TXMLDocument: ошибка: "Не был произведен вызов CoInitialize"


3-1254836260
romichshos
2009-10-06 17:37
2011.03.13
Вычисляемые поля





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский