<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Webmaster-Source &#187; images</title>
	<atom:link href="https://www.webmaster-source.com/tag/images/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.webmaster-source.com</link>
	<description>Useful Resources For Webmasters</description>
	<lastBuildDate>Thu, 24 Aug 2017 02:01:18 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Handling File Uploads with PHP</title>
		<link>https://www.webmaster-source.com/2012/07/17/handling-file-uploads-with-php/</link>
		<comments>https://www.webmaster-source.com/2012/07/17/handling-file-uploads-with-php/#comments</comments>
		<pubDate>Tue, 17 Jul 2012 11:54:31 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[(x)html]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=4747</guid>
		<description><![CDATA[So you want to add a file uploader to your site. It&#8217;s quite easy to do with PHP, but first you must understand the inherent risks. You&#8217;re going to allow just anyone to take a file and put it on your server. That file could be anything. It could be an image like you may [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="//www.webmaster-source.com/wp-content/uploads/2012/07/file_upload_sketch_icon.png" alt="" title="File Upload" width="128" height="128" class="alignright size-full wp-image-4752" />So you want to add a file uploader to your site. It&#8217;s quite easy to do with PHP, but first you must understand the inherent risks. You&#8217;re going to allow just anyone to take a file and put it on your server. That file could be anything. It could be an image like you may intend, or someone could get clever and try to upload a malicious PHP script, which could then be run when called by the appropriate URL. Or a user could upload larger files than you intended and waste your server&#8217;s storage space. (This is assuming you intend to have a public-facing uploader, of course. It&#8217;s less of an issue if its a back-end feature.)</p>
<p>Let&#8217;s start with the basics of setting up the form, and handling the uploaded file. Then we can tackle some of the security issues.</p>
<p>For the upload to work, you must add <code>enctype="multipart/form-data"</code> to your <code>form</code> tag. This signals that the POST request will contain upload data as well as the form field values.</p>
<p>Among fields you&#8217;ll need are a hidden field named <code>MAX_FILE_SIZE</code>, which tells the client not to accept a file over a certain number of bytes (300000, or 300 kilobytes, in this example) as well as the file upload field itself.<span id="more-4747"></span></p>
<pre class="brush: xml; title: ; notranslate">
&lt;form method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt;
	&lt;input type=&quot;hidden&quot; name=&quot;MAX_FILE_SIZE&quot; value=&quot;300000&quot; /&gt;
	&lt;input type=&quot;file&quot; id=&quot;myupload&quot; name=&quot;myupload&quot; /&gt;
	&lt;input type=&quot;submit&quot; name=&quot;submit&quot; value=&quot;Submit&quot; /&gt;
&lt;/form&gt;
</pre>
<p>This form is going to submit to itself (that is, the PHP file that outputs the form is also the script that processes the data) so it is unnecessary to specify an <code>action</code> value for the form.</p>
<p>The code that processes the upload is actually just a couple lines. The rest is error-checking.</p>
<pre class="brush: php; title: ; notranslate">
if ($_POST['submit']) { //If the form was submitted, commence doing stuff

	if ($_FILES['myupload']['error'] != 0) {
		//The upload failed for some reason, so output a human-friendly error message for the corresponding error number.
		$errcode = array(
			&quot;No errors&quot;,
			&quot;File exceeded the PHP INI upload_max_filesize value.&quot;,
			&quot;File exceeded the maximum allowed size.&quot;,
			&quot;Partial upload.&quot;,
			&quot;No file uploaded.&quot;,
			&quot;UPLOAD_ERR_NO_TMP_DIR&quot;,
			&quot;UPLOAD_ERR_CANT_WRITE&quot;,
			&quot;UPLOAD_ERR_EXTENSION&quot;,
			&quot;UPLOAD_ERR_EMPTY&quot;
		);
		$error = $errcode[$_FILES['myupload']['error']];
		echo &quot;Error: &quot; . $error;
	}
	else {
		//No errors, so we can move the uploaded file to our uploads directory
		move_uploaded_file($_FILES['myupload']['tmp_name'], &quot;./uploads/&quot;.$_FILES['myupload']['name']);
		unset($_FILES);
	}

}
</pre>
<p>The most important part here is the <a href="http://php.net/manual/en/function.move-uploaded-file.php"><code>move_uploaded_file()</code></a> function, which does what it says on the box. The first argument is the temporary path of the uploaded file (which $_FILES[&#8216;myupload&#8217;][&#8216;tmp_name&#8217;] contains) and the second is the destination. In the example, I set it to use the name of the uploaded file (you may want to rename it) and put it in <code>./uploads</code>.</p>
<p>That should be enough for a basic file uploader, but it does absolutely nothing to check that the uploaded data is what you&#8217;re expecting. It could be exploited terribly easily.</p>
<p>To combat abuse, you should add some checks. A couple of good things to look for are:</p>
<ul>
<li>The MIME type. Inspect the uploaded file and make sure it&#8217;s an image file (or whatever kind of document you&#8217;re wanting).</li>
<li>The existence of &#8220;.php&#8221; in the filename.</li>
</ul>
<p>It&#8217;s also a good idea for you to set the permissions of your uploads folder to disallow execution of shell scripts.</p>
<p><a href="http://www.webmaster-source.com/2012/07/10/find-an-images-dimensions-and-mime-type-with-php/">Checking the MIME type</a> of an image is surprisingly easy, since there&#8217;s a handy function built-in to retrieve that information from a valid image file.</p>
<pre class="brush: php; title: ; notranslate">
$imgdata = getimagesize($_FILES['myupload']['tmp_name']);
if (!in_array($imgdata['mime'], array( 'image/gif', 'image/png', 'image/jpeg', 'image/pjpeg' ))) {
	//This isn't an image file. Better display an error and NOT move the image to its permanent spot. The temp file will be deleted automatically.
}
</pre>
<p>Preventing PHP files from being uploaded, fortunately, doesn&#8217;t require a scary Regular Expression. You can just use <code>strpos()</code> to check for the presence of a substring.</p>
<pre class="brush: php; title: ; notranslate">
if (strpos(strtolower($_FILES['ad_img']['name']), '.php') !== false) {
	//Stop right there. Why does an image file have '.php' in it?
}
</pre>
<p>That&#8217;s enough to discourage your average script kiddie, though someone with real skill might be able to find a way to get around such checks. If anybody has something to add, I&#8217;d like to hear it.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2012/07/17/handling-file-uploads-with-php/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Find an Image&#8217;s Dimensions and MIME Type with PHP</title>
		<link>https://www.webmaster-source.com/2012/07/10/find-an-images-dimensions-and-mime-type-with-php/</link>
		<comments>https://www.webmaster-source.com/2012/07/10/find-an-images-dimensions-and-mime-type-with-php/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 11:58:12 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=4741</guid>
		<description><![CDATA[What&#8217;s the easiest way to figure out the width and height of an image, as well as the format of the file, in PHP? Given that the existence of a core function for practically everything is one of the language&#8217;s strengths, it&#8217;s unsurprising that it&#8217;s pretty easy. The getimagesize() function returns an array containing the [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>What&#8217;s the easiest way to figure out the width and height of an image, as well as the format of the file, in PHP? Given that the existence of a core function for practically everything is one of the language&#8217;s strengths, it&#8217;s unsurprising that it&#8217;s pretty easy.</p>
<p>The <a href="http://www.php.net/manual/en/function.getimagesize.php"><code>getimagesize()</code></a> function returns an array containing the width and height and the content type.</p>
<pre class="brush: php; title: ; notranslate">
//Basic usage
$info = getimagesize($filename);
$width = $info[0];
$height = $info[1];
$format = $info['mime'];

//Alternate one-liner suggested by the manual
list($width, $height, $type, $attr) = getimagesize($filename);
</pre>
<p>This function is really useful for handling image uploads, since you can&#8217;t necessarily trust the MIME type that <code>$_FILES</code> reports. The function actually inspects the file to ascertain the type, rather than relying on what the client reports. Also, you may want to make sure that the uploaded images match the dimensions you have in mind.</p>
<p>Here&#8217;s how I like to handle it:</p>
<pre class="brush: php; title: ; notranslate">
$imgdata = getimagesize($_FILES['image_upload']['tmp_name']);

if ($imgdata[0] &gt; 640 || $imgdata[1] &gt; 480) {
	$errors[] = &quot;Your image is too big!&quot;;
}

if (!in_array($imgdata['mime'], array( 'image/gif', 'image/png', 'image/jpeg', 'image/pjpeg' ))) {
	$errors[] = &quot;Your file should be a PNG, JPG or GIF!&quot;;
}
</pre>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2012/07/10/find-an-images-dimensions-and-mime-type-with-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Easy CSS Sprites with Sprite Cow</title>
		<link>https://www.webmaster-source.com/2011/07/13/easy-css-sprites-with-sprite-cow/</link>
		<comments>https://www.webmaster-source.com/2011/07/13/easy-css-sprites-with-sprite-cow/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 12:33:33 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[(x)html]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[sprites]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=4152</guid>
		<description><![CDATA[CSS sprites are a commonly used technique to decrease page load times. One of the biggest hassles when setting them up, though, is figuring out the coordinates for the images in your sprite. (The other is rebuilding the sprite when you want to add new graphics&#8230;) There&#8217;s not much to be done for the latter, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.webmaster-source.com/2009/11/06/learning-css-sprites/">CSS sprites</a> are a commonly used technique to decrease page load times. One of the biggest hassles when setting them up, though, is figuring out the coordinates for the images in your sprite. (The other is rebuilding the sprite when you want to add new graphics&#8230;)</p>
<p>There&#8217;s not much to be done for the latter, but there is a handy tool that makes finding the coordinates painless. <a href="http://www.spritecow.com/">Sprite Cow</a> intelligently draws a box around an image you select in your sprite sheet (after you load the sprite, of course) and writes the CSS for it. You can&#8217;t get any simpler than that.</p>
<p style="text-align: center;"><a href="http://www.spritecow.com/"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-4153 imgborder" title="Sprite Cow" src="//www.webmaster-source.com/wp-content/uploads/spritecow.jpg" alt="" width="600" height="286" /></a></p>
<p>I bet the developers could make some good money by making a Mac version and putting it up for sale in the App Store.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2011/07/13/easy-css-sprites-with-sprite-cow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generate QR Codes On-the-Fly With the Google Chart API</title>
		<link>https://www.webmaster-source.com/2010/10/11/generate-qr-codes-on-the-fly-with-the-google-chart-api/</link>
		<comments>https://www.webmaster-source.com/2010/10/11/generate-qr-codes-on-the-fly-with-the-google-chart-api/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 11:14:48 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[(x)html]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[QR Codes]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=3631</guid>
		<description><![CDATA[You&#8217;ve probably seen a QR code before, even if you didn&#8217;t know what it was at the time. It&#8217;s a little square matrix barcode that can be read by either a specialized scanner or a cellphone with the right software. UPS puts QR codes on their packages for tracking purposes, and many Android phones come [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://goo.gl/tIgD"><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-3632" title="Download my 'Countdown Plus' app for the iPhone! :)" src="//www.webmaster-source.com/wp-content/uploads/qrcode-countdown-plus.png" alt="" width="150" height="150" /></a>You&#8217;ve probably seen a <a href="http://en.wikipedia.org/wiki/QR_Code">QR code</a> before, even if you didn&#8217;t know what it was at the time. It&#8217;s a little square matrix barcode that can be read by either a specialized scanner or a cellphone with the right software. UPS puts QR codes on their packages for tracking purposes, and many Android phones come with QR readers preinstalled for easily sharing links to apps.</p>
<p>A QR code can contain any sort of textual information, which will be decoded by a QR reader. A web address, a simple message, a phone number, etc.. A good QR reader should figure out what the decrypted data is and act upon it accordingly. If it&#8217;s a web address, it will display the web page. If it&#8217;s a phone number, it should display the number and offer to call it.</p>
<p>Users of the iPhone or fourth-generation iPod Touch can use a free app like <a href="http://itunes.apple.com/us/app/qr-code-reader-and-scanner/id388175979?mt=8">QR Reader</a> to scan QR codes.</p>
<p>What can you use a QR code for? There are plenty of possible applications. Magazines could print QR codes that let you quickly jump to a web page. (Anyone remember the <a href="http://en.wikipedia.org/wiki/CueCat">CueCat</a>?) Advertisements could have QR codes that offer more information. You could put a QR on your business card. Want to move a web page you&#8217;re reading from your computer to your phone? Create a quick QR matrix and scan it right off the screen!</p>
<p>Now for the fun part&#8230; How do you make your own QR codes?<span id="more-3631"></span></p>
<p>Google has a nifty <a href="http://code.google.com/apis/chart/">API for dynamically generating charts</a>. A simple (if messy-lookig) URL request will instantly generate an image containing a pie chart or a line graph. While QR codes aren&#8217;t exactly charts, the service has an option to generate them all the same. All you have to do is use a URL like this:</p>
<pre class="brush: plain; title: ; notranslate">http://chart.apis.google.com/chart?cht=qr&amp;chs=500x500&amp;choe=UTF-8&amp;chld=H&amp;chl=http://www.webmaster-source.com</pre>
<p>If you visit the above URL in your web browser, you should see a huge 500&#215;500 pixel QR code that will take you to Webmaster-Source if you scan it. You could easily copy and save the image, print it, or embed it in a web page by using the URL in an &lt;img&gt; tag.</p>
<p>The key/value parameters in the URL are as follows.</p>
<ul>
<li><strong>cht=qr</strong> — This tells the API that we&#8217;re creating a QR code instead of a pie chart or whatever.</li>
<li><strong>chs=500&#215;500</strong> — The size of the chart, in pixels. (I imagine &#8220;chs&#8221; stands for &#8220;CHart Size.&#8221;) 500&#215;500 seems to be the maximum size.</li>
<li><strong>choe=UTF-8</strong> — The content encoding. You should probably leave this as-is.</li>
<li><strong>chld=H</strong> — This seems to set the type of QR code. If you remove it, a different pattern will be used. I would recommend keeping the default unless you know what you&#8217;re doing.</li>
<li><strong>chl=[&#8230;]</strong> — The data you want to create a QR code for, such as a web address. If it is a URL, just paste it verbatim after the equality sign.</li>
</ul>
<p>The beauty of the API is it&#8217;s simplicity. If you know you&#8217;re building some sort of web app, you could <em>easily</em> use your language of choice to mash your data up into a URL request and spit out an image tag with a QR code. Google already does this with their Goo.gl URL shortener. If you look at one of their <a href="http://goo.gl/info/QMET">URL info pages</a>, it displays a small QR code and a link to a larger one. (Actually, adding &#8220;.qr&#8221; to the end of any Goo.gl URL will display the QR code.) It&#8217;s a very easy way to get a quick QR.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2010/10/11/generate-qr-codes-on-the-fly-with-the-google-chart-api/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Automated Website Thumbnails via WordPress.com</title>
		<link>https://www.webmaster-source.com/2010/02/16/automated-website-thumbnails-via-wordpress-com/</link>
		<comments>https://www.webmaster-source.com/2010/02/16/automated-website-thumbnails-via-wordpress-com/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 11:30:20 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Automattic]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[screenshots]]></category>
		<category><![CDATA[thumbnails]]></category>
		<category><![CDATA[WordPress.com]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=3031</guid>
		<description><![CDATA[Ben Gillbanks has unearthed a neat, undocumented API. If you have a look at his WPVote site, you&#8217;ll note that next to each link there is a thumbnail or the originating site. There are several services that can generate thumbnails like that, but most of them place watermarks on the images or place limits on [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Ben Gillbanks has <a href="http://www.binarymoon.co.uk/2010/02/automated-take-screenshots-website-free/">unearthed a neat, undocumented API.</a> If you have a look at his <a href="http://wpvote.com/">WPVote</a> site, you&#8217;ll note that next to each link there is a thumbnail or the originating site.</p>
<p>There are several services that can generate thumbnails like that, but most of them place watermarks on the images or place limits on how many API calls you can make in a month. (Amazon used to offer a paid service, but it was discontinued a year or two ago.)</p>
<p>To my surprise, when I was submitting an article to WPVote recently, I found that the thumbnails were served up by a subdomain of WordPress.com. I thought something along the lines of &#8220;Eh? I didn&#8217;t know they offered a screenshot service&#8230;&#8221; and continued about my business.</p>
<p>A couple days later, I spotted Ben&#8217;s <a href="http://www.binarymoon.co.uk/2010/02/automated-take-screenshots-website-free/">blog post</a> in my feed reader. In it he explained how he discovered a dynamic URL that Automattic uses, in places like the WordPress.org commercial themes page, to display thumbnails. He posted an email to Matt Mullenweg about it and got this as a response:</p>
<blockquote><p>You can use it and link to it, but it&#8217;s not official. It&#8217;s not worth the effort to try to make it into a business &#8211; we have to support it anyway for our own apps.</p></blockquote>
<p>Sounds good to me. <img src="https://www.webmaster-source.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> Obviously it wouldn&#8217;t be nice to use it for something huge and high-traffic, but it seems like they don&#8217;t object to us smaller WordPress fanatics making use of it.</p>
<p><code>http://s.wordpress.com/mshots/v1/http%3A%2F%2Fprothemedesign.com%2F?w=250</code></p>
<p>There&#8217;s now <a href="http://www.binarymoon.co.uk/projects/bm-shots-automated-screenshots-website/">a WordPress plugin</a> that makes it easy to use the thumbnails in blog posts, with a shortcode, or elsewhere with a template tag.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2010/02/16/automated-website-thumbnails-via-wordpress-com/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Showcase Your Images with WebAssist&#8217;s PowerGallery</title>
		<link>https://www.webmaster-source.com/2009/12/16/showcase-your-images-with-webassists-powergallery/</link>
		<comments>https://www.webmaster-source.com/2009/12/16/showcase-your-images-with-webassists-powergallery/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 11:25:02 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[Software & Scripts]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=2838</guid>
		<description><![CDATA[Looking for a PHP photo gallery package that&#8217;s super easy to use? Look no further than WebAssist&#8217;s PowerGallery. It has a slick interface that far surpasses any I&#8217;ve seen in similar scripts. It looks good, it&#8217;s clean and simple, and it feels polished, which is more than I can say for the ever-popular Coppermine Photo [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Looking for a PHP photo gallery package that&#8217;s super easy to use? Look no further than <a href="http://www.webassist.com/go/review/powergallery/mharzewski/">WebAssist&#8217;s PowerGallery</a>. It has a slick interface that far surpasses any I&#8217;ve seen in similar scripts. It looks good, it&#8217;s clean and simple, and it feels <em>polished,</em> which is more than I can say for the ever-popular Coppermine Photo Gallery.</p>
<p style="text-align: center;"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-2840 imgborder" title="PowerGallery Main Screen" src="//www.webmaster-source.com/wp-content/uploads/powergallery-galleries.jpg" alt="PowerGallery Main Screen" width="520" height="270" /></p>
<p><span id="more-2838"></span>Installation is quick and painless, a simple matter of uploading the files and running the 5-step installation wizard. It checks to make sure the prerequisites (PHP 5.2, GD, SimpleXML) are met and then prompts for your MySQL credentials. Once that&#8217;s taken care of, it asks you for a username and password for the admin account, then lets you optionally set up a watermark that will be added to your images. The final step lets you batch-add a folder full of images, though you can put that off until later.</p>
<p style="text-align: center;"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-2839 imgborder" title="PowerGallery Installation" src="//www.webmaster-source.com/wp-content/uploads/powergallery-install.jpg" alt="PowerGallery Installation" width="520" height="358" /></p>
<p>Managing your images with PowerGallery is a breeze. You can simply drag and drop the thumbnails to reorder them, and it only takes a couple of clicks to rotate them if need be. Editing metadata is intuitive: a simple matter of selecting a thumbnail and tweaking the text fields to the right.</p>
<p style="text-align: center;"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-2841 imgborder" title="Managing Images with PowerGallery" src="//www.webmaster-source.com/wp-content/uploads/powergallery-manage.jpg" alt="Managing Images with PowerGallery" width="520" height="271" /></p>
<p>You have two options when it comes to uploading images: either do one at a time, or FTP several to a server directory and import them all at once.</p>
<p style="text-align: center;"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-2842 imgborder" title="Uploading Images in PowerGallery" src="//www.webmaster-source.com/wp-content/uploads/powergallery-uploading.jpg" alt="Uploading Images in PowerGallery" width="520" height="281" /></p>
<p>There are several layout options for your galleries. You can have a grid of thumbnails that open the full-size image in a Lightbox overlay when clicked, a thumbnail grid with the full-size image displayed above, or you can have either configuration, but with a &#8220;ribbon&#8221; of thumbnails instead of a grid. The options are available in both light and dark color schemes.</p>
<p>Galleries can be linked to directly, or you can get snippets of PHP code to embed them directly into an existing page.</p>
<p style="text-align: center;"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-2843 imgborder" title="PowerGallery Settings: Layout" src="//www.webmaster-source.com/wp-content/uploads/powergallery-design.jpg" alt="PowerGallery Settings: Layout" width="520" height="290" /></p>
<p>The finished product looks good, and functions like you would expect any image gallery to. It would work well for a portfolio, product photos, or whatever your needs are.</p>
<p style="text-align: center;"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-2844 imgborder" title="PowerGallery: Preview" src="//www.webmaster-source.com/wp-content/uploads/powergallery-ribbon.jpg" alt="PowerGallery: Preview" width="520" height="302" /></p>
<p>PowerGallery is a great software package, and its only real drawback is the price. It costs $99.99 for an unlimited-site license, though it&#8217;s discounted to $69.99 until the end of December. I think the normal asking price is a little steep for many individuals, though businesses should have no issue, but PowerGallery is a great option for those who can afford it.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2009/12/16/showcase-your-images-with-webassists-powergallery/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Smashing Freebie: iPhone PSD Vector Kit</title>
		<link>https://www.webmaster-source.com/2009/11/30/smashing-freebie-iphone-psd-vector-kit/</link>
		<comments>https://www.webmaster-source.com/2009/11/30/smashing-freebie-iphone-psd-vector-kit/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 11:14:05 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[PSD. vector]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=2746</guid>
		<description><![CDATA[Smashing Magazine certainly has no shortage of freebie themes, icon sets, and vector images. This particular one could be useful for designers/developers working in the iPhone arena. The iPhone PSD Vector Kit is a set of images that would work well for mocking-up iPhone apps or putting together imagery for an iPhone-oriented website.]]></description>
				<content:encoded><![CDATA[<p>Smashing Magazine certainly has no shortage of freebie themes, icon sets, and vector images. This particular one could be useful for designers/developers working in the iPhone arena. The <a href="http://www.smashingmagazine.com/2008/11/26/iphone-psd-vector-kit/">iPhone PSD Vector Kit</a> is a set of images that would work well for mocking-up iPhone apps or putting together imagery for an iPhone-oriented website.</p>
<p style="text-align: center;"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-2747 imgborder" title="iPhone PSD Vector Kit" src="//www.webmaster-source.com/wp-content/uploads/smashing-iphone-psd-vector-kit.jpg" alt="iPhone PSD Vector Kit" width="470" height="288" /></p>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2009/11/30/smashing-freebie-iphone-psd-vector-kit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TimThumb: Automatically Resize Images</title>
		<link>https://www.webmaster-source.com/2009/10/23/timthumb-automatically-resize-images/</link>
		<comments>https://www.webmaster-source.com/2009/10/23/timthumb-automatically-resize-images/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 11:34:10 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[Software & Scripts]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=2665</guid>
		<description><![CDATA[TimThumb is a PHP script by Darren Hoyt that can automatically create thumbnails on the fly, caching them for later use. It scales images to the width and height you specify, either keeping the original aspect ratio or cropping the image. To make use of the script, once installed, you simply put the URL of [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.darrenhoyt.com/2008/04/02/timthumb-php-script-released/">TimThumb</a> is a PHP script by Darren Hoyt that can automatically create thumbnails on the fly, caching them for later use. It scales images to the width and height you specify, either keeping the original aspect ratio or cropping the image.</p>
<p>To make use of the script, once installed, you simply put the URL of the TimThumb script in an image tag, and pass arguments for the original image and the scaling options.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;img src=&quot;/thumbnails/timthumb.php?src=
/images/an_image.jpg&amp;w=128&amp;h=128&amp;zc=1&quot; alt=&quot;&quot;&gt;
</pre>
<p>This would be perfect for generating thumbnails for blog posts, which is, interestingly enough, what the script was originally developed for.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2009/10/23/timthumb-automatically-resize-images/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CSS-Tricks: Style a List with One Pixel</title>
		<link>https://www.webmaster-source.com/2009/09/15/css-tricks-style-a-list-with-one-pixel/</link>
		<comments>https://www.webmaster-source.com/2009/09/15/css-tricks-style-a-list-with-one-pixel/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 10:48:38 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=2551</guid>
		<description><![CDATA[Chris Coyier recently released a new article that covers an ingenious CSS trick that puts me in mind of the days of 1-pixel spacer.gif files and tiling graphics meant to replace the &#60;hr&#62; tag. Basically it uses a one-pixel graphic and a bit of CSS to style a nested list element, with an end result [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Chris Coyier recently released a new article that covers <a href="http://css-tricks.com/style-a-list-with-one-pixel/">an ingenious CSS trick</a> that puts me in mind of the days of 1-pixel spacer.gif files and tiling graphics meant to replace the &lt;hr&gt; tag.</p>
<p>Basically it uses a one-pixel graphic and a bit of CSS to style a nested list element, with an end result that looks something like this:</p>
<p><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-2552" title="CSS-Tricks 1px Nested List" src="//www.webmaster-source.com/wp-content/uploads/css-tricks-1px-nested-list.jpg" alt="CSS-Tricks 1px Nested List" width="271" height="181" /></p>
<p>That&#8217;s a semantically-correct &lt;ul&gt; element styled with one image and no additional markup. It&#8217;s so simple I wish I had thought of it&#8230; <img src="https://www.webmaster-source.com/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2009/09/15/css-tricks-style-a-list-with-one-pixel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML Text Over an Image</title>
		<link>https://www.webmaster-source.com/2009/08/14/html-text-over-an-image/</link>
		<comments>https://www.webmaster-source.com/2009/08/14/html-text-over-an-image/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 11:50:45 +0000</pubDate>
		<dc:creator><![CDATA[Matt]]></dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[(x)html]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=2427</guid>
		<description><![CDATA[Have you ever seen a site where HTML text is rendered over an image? One example of this is Pro Blog Design&#8216;s article headings. The effect looks good, and it&#8217;s search engine-friendly. CSS-Tricks has a tutorial on how to create a similar implementation with CSS absolute positioning. Basically you create a relatively-positioned DIV and put [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Have you ever seen a site where HTML text is rendered over an image? One example of this is <a href="http://www.problogdesign.com/">Pro Blog Design</a>&#8216;s article headings.</p>
<p style="text-align: center;"><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-2428 imgborder" title="HTML Text Over an Image on Pro Blog Design" src="//www.webmaster-source.com/wp-content/uploads/pbd-html-over-image.jpg" alt="HTML Text Over an Image on Pro Blog Design" width="500" height="212" /></p>
<p>The effect looks good, and it&#8217;s search engine-friendly. <a href="http://css-tricks.com/text-blocks-over-image/">CSS-Tricks has a tutorial</a> on how to create a similar implementation with CSS absolute positioning.</p>
<p>Basically you create a relatively-positioned DIV and put the image and H2 elements inside. Then you absolutely position the two elements, and add a solid or semi-transparent background behind the heading text.</p>
<p><a href="http://css-tricks.com/text-blocks-over-image/">Text Blocks Over Image</a> [CSS-Tricks]</p>
]]></content:encoded>
			<wfw:commentRss>https://www.webmaster-source.com/2009/08/14/html-text-over-an-image/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/


Served from: www.webmaster-source.com @ 2026-04-29 11:42:19 by W3 Total Cache
-->