PDA

View Full Version : Image variable BBCode


MTGDarkness
01-12-2009, 04:07 PM
After the .com failed me, I figured I should try here...

The history of my search:
http://www.vbulletin.com/forum/showthread.php?t=294887. The most important stuff:
hmm... I dunno if you get my meaning. Say I have images a,b,c,d,e,f,etc. all the way to z. I need a BBCode that can pick up anything from a,a,z to t,r,a,y,h; if you know what I mean. Like tearyrwert would bring out all of the images mentioned in the string, repeats and places kept where they are. Just like yioteykn would.
Thats going to require custom coding and some sort of Image Processing Librairy.

http://www.theadminzone.com/forums/showthread.php?t=58021. The most important stuff:
Off hand I wouldn't know all the details but basically the BB code would be used to call a javascript function with those characters as arguments... such as hyuop would translate to html to call the javascript function insertimages("hyuop")

The function insertimages() would then take the string input, look at it character by character, the list of images for each character is pre-defined in the javascript of course... and it would just add the <img> tags for each character.

It certainly seems possible from what I know of Javascript and VB... the exact details off hand I don't know but it can be done. The javascript code would go in the header so it's on all pages...


The problem is only, now I really don't know how to proceed. I have very little Javascript knowledge. I mean, I could probably get it to almost useful, but even then, it would be better just to use the images as smileys like now, because I have no idea how to get it to detect repeats or anything like that. So basically, I'm screwed. If anyone can tell me what kind of coding I need here... I'd also be prepared to pay for someone doing this modification, although my sums are somewhat limited...

Thanks in advance,
-Cadet, MTGDarkness admin

Bellardia
01-12-2009, 05:04 PM
How long do these images get? If they always stay on the same line you could easily use a php image library to generate the string. Use bb code to change
{something}
to
<img src="generateimage.php?string=something" alt="something" />

And have a php script that takes the query string and separates the characters, sends back image headers and displays the images for each. Probably best to use GD library for php.

This way you could use built in vb features and an external script instead of having to worry about fetching the information with javascript after the page loads.

MTGDarkness
01-12-2009, 05:08 PM
The problem with that is that I need it to detect multiple images in the same code string. Unless I misunderstand you?

Bellardia
01-12-2009, 05:16 PM
You could detect each character as an image like you said.
Such as letter
a = 'firstimg.png'
b = 'secondimg.png'

so aba would return the 3 images in a row.

I was hinting more towards how to format the images? Are they all the same/size dimension, and will they all fit on a single display line or will some have to appear ontop of eachother when formatted because they're too large.

Such as
one line would have images ababaaab and they would flow over to the next line with images bbaba etc.

Hope that makes sense?

Either way it's still possible, you'll just have to include some math as well to calculate line widths and when to skip to the next if its too large.

MTGDarkness
01-12-2009, 05:27 PM
Wow! Now I just need to figure out the library script to use... Can you give me any pointers there? I really have no idea whatsoever.

Bellardia
01-12-2009, 07:22 PM
Basic functionality
<?php
$myImage = imagecreatefromjpeg('jpgFile.jpg');
header("Content-type: image/jpeg");
imagejpeg($myImage);
imagedestroy($myImage);
?>

Combine it with other php gd functions. Probably the ones you'll need [ Refrence ] (http://ca3.php.net/gd)
imagecreate()
imagecopymerge()
imagecreatefrompng() or imagecreatefromgif() or whichever format you're using

Basic idea:
Get each character from the query string, add up each images width to find total image size. If image a = 30pixels, b=200pixels, then ?string=aba would be 260pixels.
Use imagecreate to make a 260pixel image. Take image a copymerge it onto the background image from imagecreate, copymerge image b 30 pixels to the right of that, then copymerge image a again 230 pixels from origin of the background image.

Hope I didn't get too complex..

Dismounted
01-13-2009, 04:34 AM
Also make sure GD is enabled on your server first (see PHP info).