Subtracting Out Half-Width/Height Does Work
You stated you tried half-width/height calculations in your attempt to center the image on the circumference of a circle at some angular reference (as I understand your question). It seems that should and does work. Check out this...
Example Fiddle
The circle and image colors are for visual reference, but the image positioning is done by:
LESS
//define circle position
@r: 100px;
@x: 175px;
@y: 150px;
.setImage(@w, @h, @a) {
//@a is angle from HORIZONTAL but moves clockwise
//(based on radians unless units are given)
width: @w;
height: @h;
left: (@x + ( @r * cos(@a) ) - (@w / 2));
top: (@y + ( @r * sin(@a) ) - (@h / 2));
}
.test1 {
.setImage(40px, 40px, -35deg);
}
.test2 {
.setImage(60px, 30px, -80deg);
}
.test3 {
.setImage(90px, 20px, -150deg);
}
.test4 {
.setImage(40px, 70px, -240deg);
}
.test5 {
.setImage(20px, 90px, -295deg);
}
CSS Output
.test1 {
width: 40px;
height: 40px;
left: 236.9152044288992px;
top: 72.64235636489539px;
}
.test2 {
width: 60px;
height: 30px;
left: 162.36481776669305px;
top: 36.5192246987792px;
}
.test3 {
width: 90px;
height: 20px;
left: 43.39745962155612px;
top: 90px;
}
.test4 {
width: 40px;
height: 70px;
left: 104.99999999999996px;
top: 201.60254037844385px;
}
.test5 {
width: 20px;
height: 90px;
left: 207.26182617406997px;
top: 195.630778703665px;
}
Works Even With Rotated Images
Assuming you set your images to have transform-origin: center center
then it works to keep them on center even if the images are rotated at some angle.
See Rotated Image Example Fiddle