Sign in to follow this  
Lergen

DxDrawImageOnElement Size Problem

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.

Share this post


Link to post

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

 

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.