Я бы не стал манипулировать изображениями с помощью GD или imagemagick, а вместо этого поместил бы [css border] [1] на изображение или делитель позади изображения, который немного больше, чем изображение.
Либо вы устанавливаете рамку на каждом изображении, используя css:
img { border: 2px solid #000; }
Или вы можете определить некоторые классы границ следующим образом:
.border1 {border: 1px solid #000}
.border2 {border: 2px solid #000}
.border3 {border: 3px solid #000}
и затем используйте на ваших изображениях:
<img src="..." class="border1"></img>
или
<img src="..." class="border3 "></img>
edit: если бы вы использовали scss / sass, вы могли бы даже сделать что-то вроде:
@for $i from 1 through 10 {
img.border_#{$i} { border: #{$i}px solid #000; }
}
Сасса!
О цветах:
.bMainColor{border-color:#ff0000;}
.bSecColor{border-color:#00ff00;}
.bThirdColor{border-color:#0000ff;}
и тег img:
<img src="..." class="border1 bMainColor"></img>
Я полагаю, что существует так много способов использования css:)
Отзывы о границах:
http://www.w3.org/TR/CSS2/box.html#border-properties
http://reference.sitepoint.com/css/bordersoutlines
http://www.w3schools.com/css/css_border.asp