Форум: "Начинающим";
Текущий архив: 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