[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Zoom in XEmacs (Re: インライン画像の縮小・拡 大機能)



>>>>> In [emacs-w3m : No.03966]
>>>>>	Katsumi Yamaoka <yamaoka@jpl.org> wrote:

山岡> XEmacs と BITMAP-MULE 対応は後でやるとして...。

w3m.el のインライン関数 w3m-resize-inline-image-internal におい
て、もしかしたら
			(let (buffer-read-only)
			  (w3m-insert-image start end image iurl))
の部分は
			(let (buffer-read-only)
			  (w3m-remove-image start end)
			  (w3m-insert-image start end image iurl))

とする必要があったりしませんか?
このところぜんぜん時間が取れなくて、不確かではあるのですけれど。
で、もっと不確か (というかまだぜんぜん使いものにならない ^^;;)
XEmacs 用の w3m-create-resized-image です。↓

;; う、また出かけなければ。

(defun w3m-create-resized-image (url rate &optional referer size handler)
  "Resize an cached image object.
URL is the image file's url.
RATE is resize percentage.
If REFERER is non-nil, it is used as Referer: field.
If SIZE is non-nil, its car element is used as width
and its cdr element is used as height."
  (if (not handler)
      (w3m-process-with-wait-handler
	(w3m-create-image url nil referer size handler))
    (lexical-let ((url url)
		  (rate rate)
		  fmt data)
      (w3m-process-do-with-temp-buffer
	  (type (w3m-retrieve url 'raw nil nil referer handler))
	(when (w3m-image-type-available-p (setq type (w3m-image-type type)))
	  (setq data (buffer-string)
		fmt type)
	  (w3m-process-do
	      (resized (or (w3m-resize-image-by-rate data rate handler)
			   data))
	    (or (and (eq fmt 'gif)
		     (or w3m-should-unoptimize-animated-gifs
			 w3m-should-convert-interlaced-gifs)
		     w3m-gifsicle-program
		     (w3m-fix-gif url data nil))
		(w3m-make-glyph data fmt))))))))
-- 
Katsumi Yamaoka <yamaoka@jpl.org>
;; emacs-w3m@namazu.org をメモ帳代わりにしているような...。^^;;