提交 b19e283f 编写于 作者: M Mugen87

ImageLoader: Inherit from Loader.

上级 257f66c9
......@@ -8,6 +8,8 @@
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
[page:Loader] &rarr;
<h1>[name]</h1>
<p class="desc">
......@@ -65,22 +67,10 @@
</p>
<h2>Properties</h2>
<h3>[property:String crossOrigin]</h3>
<p>
If set, assigns the [link:https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes crossOrigin]
attribute of the image to the value of *crossOrigin*, prior to starting the load. Default is *"anonymous"*.
</p>
<h3>[property:LoadingManager manager]</h3>
<p>
The [page:LoadingManager loadingManager] the loader is using. Default is [page:DefaultLoadingManager].
</p>
<h3>[property:String path]</h3>
<p>The base path from which files will be loaded. See [page:.setPath]. Default is *undefined*.</p>
<p>See the base [page:Loader] class for common properties.</p>
<h2>Methods</h2>
<p>See the base [page:Loader] class for common methods.</p>
<h3>[method:HTMLImageElement load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
<p>
......@@ -94,15 +84,6 @@
Begin loading from url and return the [page:Image image] object that will contain the data.
</p>
<h3>[method:null setCrossOrigin]( [param:String value] )</h3>
<p>Set the [page:.crossOrigin] attribute.</p>
<h3>[method:FileLoader setPath]( [param:String path] )</h3>
<p>
Set the base path or URL from which to load files. This can be useful if
you are loading many images from the same directory.
</p>
<h2>Source</h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
......
......@@ -8,6 +8,8 @@
<link type="text/css" rel="stylesheet" href="page.css" />
</head>
<body>
[page:Loader] &rarr;
<h1>[name]</h1>
<p class="desc">
......@@ -65,22 +67,10 @@
</p>
<h2>属性</h2>
<h3>[property:String crossOrigin]</h3>
<p>
如果设置了,在开始加载前, 将为图片分配 [link:https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_settings_attributes crossOrigin]
属性,其值为 *crossOrigin*, 默认为"anonymous"。
</p>
<h3>[property:LoadingManager manager]</h3>
<p>
加载器正在使用的[page:LoadingManager loadingManager],默认值为[page:DefaultLoadingManager].
</p>
<h3>[property:String path]</h3>
<p>所要加载文件的基本路径。 请参考[page:.setPath],默认为*undefined*。</p>
<p>See the base [page:Loader] class for common properties.</p>
<h2>方法</h2>
<p>See the base [page:Loader] class for common methods.</p>
<h3>[method:null load]( [param:String url], [param:Function onLoad], [param:Function onProgress], [param:Function onError] )</h3>
<p>
......@@ -94,14 +84,6 @@
从URL中进行加载,并返回将包含数据的[page:Image image]对象。
</p>
<h3>[method:null setCrossOrigin]( [param:String value] )</h3>
<p>设置[page:.crossOrigin]的属性。</p>
<h3>[method:FileLoader setPath]( [param:String path] )</h3>
<p>
设置加载文件的基本路径或URL。当加载同一目录中下的许多图片时,此方法将很有用。
</p>
<h2></h2>
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]
......
import { Loader } from './Loader';
import { LoadingManager } from './LoadingManager';
/**
* A loader for loading an image.
* Unlike other loaders, this one emits events instead of using predefined callbacks. So if you're interested in getting notified when things happen, you need to add listeners to the object.
*/
export class ImageLoader {
export class ImageLoader extends Loader {
constructor( manager?: LoadingManager );
manager: LoadingManager;
crossOrigin: string;
withCredentials: string;
path: string;
/**
* Begin loading from url
* @param url
*/
load(
url: string,
onLoad?: ( image: HTMLImageElement ) => void,
onProgress?: ( event: ProgressEvent ) => void,
onError?: ( event: ErrorEvent ) => void
): HTMLImageElement;
setCrossOrigin( crossOrigin: string ): ImageLoader;
setWithCredentials( value: string ): ImageLoader;
setPath( value: string ): ImageLoader;
}
......@@ -3,18 +3,17 @@
*/
import { Cache } from './Cache.js';
import { DefaultLoadingManager } from './LoadingManager.js';
import { Loader } from './Loader.js';
function ImageLoader( manager ) {
this.manager = ( manager !== undefined ) ? manager : DefaultLoadingManager;
Loader.call( this, manager );
}
Object.assign( ImageLoader.prototype, {
ImageLoader.prototype = Object.assign( Object.create( Loader.prototype ), {
crossOrigin: 'anonymous',
constructor: ImageLoader,
load: function ( url, onLoad, onProgress, onError ) {
......@@ -86,20 +85,6 @@ Object.assign( ImageLoader.prototype, {
return image;
},
setCrossOrigin: function ( value ) {
this.crossOrigin = value;
return this;
},
setPath: function ( value ) {
this.path = value;
return this;
}
} );
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册