Главная страница
    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. Хоть нельзя картинку отрисовывать, зато как везде будет.



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

Форум: "Начинающим";
Текущий архив: 2011.03.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.004 c
2-1292907366
RUu
2010-12-21 07:56
2011.03.13
перечислить таблицы


15-1291066179
Юрий
2010-11-30 00:29
2011.03.13
С днем рождения ! 30 ноября 2010 вторник


15-1291033829
12
2010-11-29 15:30
2011.03.13
О chess.com. Кто-нибудь пробовал пароль восстановить?


2-1292848132
Scott Storch
2010-12-20 15:28
2011.03.13
FindFirstFile, FindNextFile


15-1291018641
NailMan
2010-11-29 11:17
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский