честно говоря не знаю более простого способа чем высчитывать координаты и габариты вручную, например:
<!DOCTYPE html>
<html>
<head>
<title>demo</title>
<script src='http://dev.sencha.com/deploy/ext-4.0.7-gpl/ext-all.js'></script>
<link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.0.7-gpl/resources/css/ext-all.css">
<script>
Ext.onReady(function() {
Ext.define('Bla',{
extend: 'Ext.panel.Panel',
initComponent: function() {
this.items = [{
xtype: 'image',
src: 'http://eletronichunter.files.wordpress.com/2010/06/extjs_splash.jpg'
}];
this.callParent(arguments);
}
});
Ext.create('Bla', {
height: 200,
title: 'ExtJS',
resizable: true,
width: 200,
renderTo: Ext.getBody(),
margin: 30,
listeners: {
resize: function() {
var img = this.down('image'),
box = this.getBox(),
hh = this.getHeader() ? this.getHeader().getHeight() : 0; // определим нужно ли учитывать высоту заголовка
with(box) {
x += width/4;
y += hh+(height-hh)/4;
height = (height-hh)/2;
width /= 2;
}
img.getEl().setBox(box);
}
}
});
});
</script>
</head>
<body></body>
</html>