0

サイズが異なる(200x200ピクセル未満)画像があります。特定の色(たとえば白)で空白を追加して、200x200ピクセルにします。私はcroplibを使用してそれらをトリミングしようとしました:http://codeigniter.com/user_guide/libraries/image_lib.html 私は動作しません。これが私が成功せずに使用しているいくつかのコードです:

$config = Array(
 'image_library' => 'gd2',
 'source_image' => '/path/to/my/image.jpg',
 'new_image' => '/path/to/my/small/image.jpg',
 'thumb_marker' => '',
 'create_thumb' => TRUE,
 'maintain_ratio' => TRUE,
 'width' => '200',
 'height' => '200'
);

$this->load->library('image_lib', $config);
if (!$this->image_lib->resize())
{
 $this->session->set_flashdata('message_error',  $this->image_lib->display_errors());
 redirect('/mon_controller', 'location');
}

$config['source_image'] = '/path/to/my/small/image.jpg';
$config['x_axis'] = '200';
$config['y_axis'] = '200';

$this->image_lib->initialize($config);

if ( ! $this->image_lib->crop())
{
 $this->session->set_flashdata('message_error',  $this->image_lib->display_errors());
 redirect('/my_controller', 'location');
}

編集:libは私のニーズに合っていると思います:http://www.matmoo.com/digital-dribble/codeigniter/image_moo/

4

2 に答える 2

1

私はあなたがこれを必要とすると思います。

http://www.matmoo.com/digital-dribble/codeigniter/image_moo/
于 2012-05-22T13:30:37.013 に答える
1

質問に答えられないことをお詫びしますが、CSSを使用して行うことをお勧めします。これにより、元の画像を保持して、後でどこでも使用できるようになります(明日デザインが変更された場合、または変更されていない別のページで使用したい場合はどうなりますか?同じ画像のサイズ要件が必要ですか?)

画像をdivに入れ、水平方向に中央に配置するようにスタイルを設定しますmargin: auto;(またはtext-align: center、現時点では言えません)。
垂直方向に中央に配置するには、次のjQuery関数を使用できます。

(function ($) {
$.fn.vAlign = function(){
    return this.each(function(i){
    var ah = $(this).height();
    var ph = $(this).parent().height();
    var mh = Math.ceil((ph-ah) / 2);
    $(this).css('margin-top', mh);
    });
};

そして:$('#image').vAlign()

于 2012-05-22T13:37:36.463 に答える