Помогите с твипами!
Ситуация такая:
Через цикл рисую прямую в твипах, в обьекте PictureBox, а вот снять потом эти же значения цветов именно в твипах не получается!((( В пикселях и поинтах все нормально работает, но мне нужно именно в твипах!
Помогите плыз!
Код:
Pic1.Line (300, 300)-(2500, 2200), vbBlue
Код:
MsgBox Pic1.Point(300, 300)
Не понимаю,в чём проблема
Код:
for i=0 to 10
picture1.pset(i,1), "&H" & hex(rgb(123,231,120+i))
next i
picture1.pset(i,1), "&H" & hex(rgb(123,231,120+i))
next i
В соответствии этому циклу каждый последующий твип будет своего, отличного от предыдущего, цвета.
А вот при снятии цвета:
Код:
dim c
text1.text = ""
for i=0 to 10
c=picture1.point(i,1)
text1.text = text1.text & "&H" & hex(c) & vbcrlf
next i
text1.text = ""
for i=0 to 10
c=picture1.point(i,1)
text1.text = text1.text & "&H" & hex(c) & vbcrlf
next i
торезультаты будут сняты не верно!!!
Твип–это ж не реальная единица,а виртуальная!Подумай сам,сколько памяти понадобилось бы,дабы хранить всё изображение в твипах(например,при соотношении как у меня:1 твип=15 пикселей по горизонтали и вертикали).Поэтому при определении цвета точки берётся цвет именно точки,а оная,в свою очередь,имеет цвет среднего твипа(или последнего).Т.е. из всех 15ти твипов в реальную точку воплощается только 1;его цвет ты и получаешь Point'ом
И вообще,код лучше оформить вот так:
Код:
For I = 0 To 10
Picture1.PSet (I, 1), "&H" + Hex(RGB(123, 231, 120 + I))
Next I
For I = 0 To 10
C = Picture1.Point(I, 1)
Text1 = Text1 + "&H" + Hex$(C) + vbCrLf
Next I
Picture1.PSet (I, 1), "&H" + Hex(RGB(123, 231, 120 + I))
Next I
For I = 0 To 10
C = Picture1.Point(I, 1)
Text1 = Text1 + "&H" + Hex$(C) + vbCrLf
Next I
И с этим никак нельзя бароться!?
Насчёт "каждой 15й" я точно не уверен,но вот идею ты верно ухватил–не все точки туда отобразятся.И никак с этим не поборешься,такая уж особенность–ведь вывод идёт на уровне пикселей,твип–виртуальная единица…не знаю,правда,зачем она нужна
Если допустимо для твоей программы, можно изменить систему измерения в самом PictureBox с помощью свойства ScaleMode: там вместо твипов можно выбрать пиксели.
Цитата: aus2007
В пикселях и поинтах все нормально работает
Тут же ясно написано,что в пикселях он пробовал.Твой ответ ни к чему
Так пусть и делает в пикселах ;)