Jump to content

DxDrawImageOnElement Size Problem


Lergen

Recommended Posts

I'm a bit stumped on something - I'm trying to use dxDrawImageOnElement and while it works as it should, it seems you cannot change the the actual height of the image to be any larger like you can with the width argument. You can change the height (location) of the image, but not image's actual size-wise height. Strangely the wiki page lists two different arguments for height that you can use which I'm guessing is what I need, but only one of them seems to work. I'm not sure if this is a mistake or if I'm missing something here.

 

Any ideas? I'd greatly appreciate any help on this.

Link to comment
  • 2 weeks later...

I hate to bump, but I'm afraid I still haven't figured this out. This is the function's source as listed on the wiki:

function dxDrawImageOnElement(TheElement,Image,distance,height,width,R,G,B,alpha)
	local x, y, z = getElementPosition(TheElement)
	local x2, y2, z2 = getElementPosition(localPlayer)
	local distance = distance or 20
	local height = height or 1
	local width = width or 1
	local checkBuildings = checkBuildings or true
	local checkVehicles = checkVehicles or false
	local checkPeds = checkPeds or false
	local checkObjects = checkObjects or true
	local checkDummies = checkDummies or true
	local seeThroughStuff = seeThroughStuff or false
	local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false
	local ignoredElement = ignoredElement or nil
	if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) then
		local sx, sy = getScreenFromWorldPosition(x, y, z+height)
		if(sx) and (sy) then
			local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
			if(distanceBetweenPoints < distance) then
				dxDrawMaterialLine3D(x, y, z+1+height-(distanceBetweenPoints/distance), x, y, z+height, Image, width-(distanceBetweenPoints/distance), tocolor(R or 255, G or 255, B or 255, alpha or 255))
			end
		end
	end
end

 

Link to comment
11 minutes ago, Lergen said:

I hate to bump, but I'm afraid I still haven't figured this out. This is the function's source as listed on the wiki:

I answered a similar question before:
 

I edited one line from the original code (from the wiki)
 

dxDrawMaterialLine3D(x, y, z+1+height-(distanceBetweenPoints/distance*width)-1+width, x, y, z+height, Image, width-(distanceBetweenPoints/distance*width), tocolor(R or 255, G or 255, B or 255, alpha or 255))

so the width parameter works as scale, this code is tested and works fine to change the size of the image, if you need non uniform height change you can use the same line with some edits

  • Thanks 1
Link to comment
19 hours ago, _Ace said:

I answered a similar question before:
 

I edited one line from the original code (from the wiki)
 


dxDrawMaterialLine3D(x, y, z+1+height-(distanceBetweenPoints/distance*width)-1+width, x, y, z+height, Image, width-(distanceBetweenPoints/distance*width), tocolor(R or 255, G or 255, B or 255, alpha or 255))

so the width parameter works as scale, this code is tested and works fine to change the size of the image, if you need non uniform height change you can use the same line with some edits

Ah I really should've checked the search function first. This was exactly what I was trying to do, thanks a bunch.

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...