При открытии каких либо файлов, напимер JPG, размер которых к примеру 700*650 пикселей, происходит небольшое несоответствие в скрипте:
plugin textureMap drawMap
name:"DrawMap"
classid:#(0xb01b213a,0xdbe89dc8)
extends:bitmaptexture
replaceui:true
(
local pointarray = #(),tmap,t_draw
fn getuvinfo obj sray =
(
local intray,tvface,tvarray,tv
if obj == undefined do return()
intray = intersectrayex obj sray
if intray == undefined do return()
try
(
tvface = gettvface obj intray[2]
)
catch (
print "No tv faces"
return()
)
tvarray = #(gettvert obj tvface.x,
gettvert obj tvface.y,gettvert obj tvface.z)
tv = (tvarray[1]*intray[3].x)+(tvarray[2] * intray[3].y)+(tvarray[3] * intray[3].z)
)
fn drawhelper obj sray =
(
local intray
if obj == undefined do return()
intray = intersectray obj sray
if intray == undefined do return()
append pointArray (point pos:intRay.pos showaxis:false)
)
parameters main rolloutarams
(
clp_color type:#color ui:clp_color
cbt_draw type:#boolean ui:cbt_draw
on cbt_draw set state do
(
if $ == undefined do (
cbt_draw = false;return()
)
if not (iskindof $ editadlemesh) do addmodifier $ (normalmodifier())
while state == true do (
starttool t_draw
)
if state == false do stoptool t_draw
)
)--end rol params
rollout params "DrawMap Parameters" width:310 height:303
(
button btn "Open" pos:[135,3] width:53 height:21
colorPicker clp_color "SetColor" pos:[14,36] width:84 height:20 colorcolor 255 255 0)
checkbutton cbt_draw "Draw" pos:[131,62] width:60 height:21 highlightColorcolor 180 255 180)
bitmap bmp1 "Bitmap" pos:[31,90] width:256 height:208 fileName:"d:\!distr\qwe.bmp"
button btn29 "ABOUT" pos:[215,31] width:72 height:24
on btn pressed do
(f = getOpenFileName \
types:"Jpg(*.Jpg)|*.Jpg|All|*.*|"
tmap = (openbitmap (getFilenamePath f+filenameFromPath f));close tmap
delegate.filename = (getFilenamePath f+filenameFromPath f)
)
on btn29 pressed do
(
messagebox"This Script "
)
)fn drawbitmap bmap uvdata =
(
local ppos
ppos = [(uvdata.x * bmap.width) as integer, (bmap.height - (uvdata.y * bmap.height)) as integer]
c = params.clp_color.color
setpixels bmap ppos #(c)
)
tool t_draw
(
local uvdata
on mousepoint click do
(
if click == 1 then (
uvdata = getuvinfo $ (mapscreentoworldray viewpoint)
if uvdata == undefined do return()
drawbitmap delegate.bitmap uvdata
drawhelper $ (mapscreentoworldray viewpoint)
)
else
(
delete pointarray; pointarray = #()
delegate.apply = true
#stop
)
)
on mouseabort click do cbt_draw = false
)
on create do
(f = getOpenFileName \
types:"Jpg(*.Jpg)|*.Jpg|All|*.*|"
save (bitmap 256 256 filename"c:\\drawmap.bmp"))
tmap = (openbitmap (getFilenamePath f+filenameFromPath f));close tmap
delegate.filename = (getFilenamePath f+filenameFromPath f))
)
Он продолжает работать : наносить пиксели на объект во вьюпортах, но когда размер карты большой более 700 пикселе в длину и ширину, то чтоб он нанёс пиксель надо тыкнуть много раз мышкой,а это очень не удобно, когда битмап 250*250 пикселей то нанести очень легко и удобно.Так вот можно ли при открытии JPG изменить её размер, до 250 пикселей хотябы или нет, если можно,то каким образом.ЗАранее благодарен.А!!!Заодно ещё раз спасибо DENIS' у!!!!!
plugin textureMap drawMap
name:"DrawMap"
classid:#(0xb01b213a,0xdbe89dc8)
extends:bitmaptexture
replaceui:true
(
local pointarray = #(),tmap,t_draw
fn getuvinfo obj sray =
(
local intray,tvface,tvarray,tv
if obj == undefined do return()
intray = intersectrayex obj sray
if intray == undefined do return()
try
(
tvface = gettvface obj intray[2]
)
catch (
print "No tv faces"
return()
)
tvarray = #(gettvert obj tvface.x,
gettvert obj tvface.y,gettvert obj tvface.z)
tv = (tvarray[1]*intray[3].x)+(tvarray[2] * intray[3].y)+(tvarray[3] * intray[3].z)
)
fn drawhelper obj sray =
(
local intray
if obj == undefined do return()
intray = intersectray obj sray
if intray == undefined do return()
append pointArray (point pos:intRay.pos showaxis:false)
)
parameters main rolloutarams
(
clp_color type:#color ui:clp_color
cbt_draw type:#boolean ui:cbt_draw
on cbt_draw set state do
(
if $ == undefined do (
cbt_draw = false;return()
)
if not (iskindof $ editadlemesh) do addmodifier $ (normalmodifier())
while state == true do (
starttool t_draw
)
if state == false do stoptool t_draw
)
)--end rol params
rollout params "DrawMap Parameters" width:310 height:303
(
button btn "Open" pos:[135,3] width:53 height:21
colorPicker clp_color "SetColor" pos:[14,36] width:84 height:20 colorcolor 255 255 0)
checkbutton cbt_draw "Draw" pos:[131,62] width:60 height:21 highlightColorcolor 180 255 180)
bitmap bmp1 "Bitmap" pos:[31,90] width:256 height:208 fileName:"d:\!distr\qwe.bmp"
button btn29 "ABOUT" pos:[215,31] width:72 height:24
on btn pressed do
(f = getOpenFileName \
types:"Jpg(*.Jpg)|*.Jpg|All|*.*|"
tmap = (openbitmap (getFilenamePath f+filenameFromPath f));close tmap
delegate.filename = (getFilenamePath f+filenameFromPath f)
)
on btn29 pressed do
(
messagebox"This Script "
)
)fn drawbitmap bmap uvdata =
(
local ppos
ppos = [(uvdata.x * bmap.width) as integer, (bmap.height - (uvdata.y * bmap.height)) as integer]
c = params.clp_color.color
setpixels bmap ppos #(c)
)
tool t_draw
(
local uvdata
on mousepoint click do
(
if click == 1 then (
uvdata = getuvinfo $ (mapscreentoworldray viewpoint)
if uvdata == undefined do return()
drawbitmap delegate.bitmap uvdata
drawhelper $ (mapscreentoworldray viewpoint)
)
else
(
delete pointarray; pointarray = #()
delegate.apply = true
#stop
)
)
on mouseabort click do cbt_draw = false
)
on create do
(f = getOpenFileName \
types:"Jpg(*.Jpg)|*.Jpg|All|*.*|"
save (bitmap 256 256 filename"c:\\drawmap.bmp"))
tmap = (openbitmap (getFilenamePath f+filenameFromPath f));close tmap
delegate.filename = (getFilenamePath f+filenameFromPath f))
)
Он продолжает работать : наносить пиксели на объект во вьюпортах, но когда размер карты большой более 700 пикселе в длину и ширину, то чтоб он нанёс пиксель надо тыкнуть много раз мышкой,а это очень не удобно, когда битмап 250*250 пикселей то нанести очень легко и удобно.Так вот можно ли при открытии JPG изменить её размер, до 250 пикселей хотябы или нет, если можно,то каким образом.ЗАранее благодарен.А!!!Заодно ещё раз спасибо DENIS' у!!!!!