TextureLoader.FromFile(Device,String,Int32,Int32,Int32,Usage,Format,Pool,Filter,Filter,Int32,ImageInformation) Method (Microsoft.DirectX.Direct3D)

Creates a texture from a file.

Definition

Visual Basic Public Shared Function FromFile( _
    ByVal device As Device, _
    ByVal srcFile As String, _
    ByVal width As Integer, _
    ByVal height As Integer, _
    ByVal mipLevels As Integer, _
    ByVal usage As Usage, _
    ByVal format As Format, _
    ByVal pool As Pool, _
    ByVal filter As Filter, _
    ByVal mipFilter As Filter, _
    ByVal colorKey As Integer, _
    ByRef srcInformation As ImageInformation _
) As Texture
C# public static Texture FromFile(
    Device device,
    string srcFile,
    int width,
    int height,
    int mipLevels,
    Usage usage,
    Format format,
    Pool pool,
    Filter filter,
    Filter mipFilter,
    int colorKey,
    ref ImageInformation srcInformation
);
C++ public:
static TextureFromFile(
    Devicedevice,
    StringLeave SitesrcFile,
    int width,
    int height,
    int mipLevels,
    Usage usage,
    Format format,
    Pool pool,
    Filter filter,
    Filter mipFilter,
    int colorKey,
    ImageInformationsrcInformation
);
JScript public static function FromFile(
    device : Device,
    srcFile : String,
    width : int,
    height : int,
    mipLevels : int,
    usage : Usage,
    format : Format,
    pool : Pool,
    filter : Filter,
    mipFilter : Filter,
    colorKey : int,
    srcInformation : ImageInformation
) : Texture;

Parameters

device Microsoft.DirectX.Direct3D.Device
A Device object that represents the device to associate with the texture.
srcFile System.String
String that specifies the file name.
width System.Int32
Width of the texture in pixels. If this value is zero, the dimensions are taken from the file.
height System.Int32
Height of the texture in pixels. If this value is zero, the dimensions are taken from the file.
mipLevels System.Int32
Number of mip levels requested. If this value is 0, a complete mipmap chain is created.
usage Microsoft.DirectX.Direct3D.Usage
Zero or Usage.RenderTarget, or Usage.Dynamic. Setting this flag to Usage.RenderTarget indicates that the surface will be used as a render target. The resource can then be passed to the param_Surface_renderTarget parameter of the Device.SetRenderTarget method. If Usage.RenderTarget is specified, the application should determine whether the device supports this operation by calling Manager.CheckDeviceFormat. The Usage.Dynamic value indicates that the surface should be handled dynamically.
format Microsoft.DirectX.Direct3D.Format
Member of the Format enumerated type that describes the requested pixel format for the cube texture. The returned cube texture might have a different format from that specified by param_Format_format. Applications should check the format of the returned cube texture. If param_Format_format is Unknown, the format is taken from the file.
pool Microsoft.DirectX.Direct3D.Pool
Member of the Pool enumerated type that describes the memory class into which the cube texture should be placed.
filter Microsoft.DirectX.Direct3D.Filter
One or more Filter flags that control how the image is filtered.
mipFilter Microsoft.DirectX.Direct3D.Filter
One or more Filter flags that control how the mipmaps are filtered. In addition, use bits 27-31 to specify the number of mip levels to be skipped (from the top of the mipmap chain) when a .dds texture is loaded into memory; this allows you to skip up to 32 levels.
colorKey System.Int32
An Int32Leave Site value to replace with transparent black, or 0 to disable the color key. This is always a 32-bit ARGB color that is independent of the source image format. Alpha is significant, and usually should be set to FF for opaque color keys. For example, for opaque black, the value is equal to 0xFF000000.
srcInformation Microsoft.DirectX.Direct3D.ImageInformation
[in, out] An ImageInformation structure that contains a description of the data in the source image file, or 0.

Return Value

Microsoft.DirectX.Direct3D.Texture
A Texture object that represents the created texture object.

Remarks

This method supports the following file formats: .bmp, .dds, .dib, .hdr, .jpg, .pfm, .png, .ppm, and .tga.

Cube textures differ from other surfaces in that they are collections of surfaces. To call Device.SetRenderTarget with a cube texture, select an individual face using CubeTexture.GetCubeMapSurface and pass the resulting surface to Device.SetRenderTarget.

To get the best performance when using FromFile, consider the following:

  • Doing image scaling and format conversion at load time can be slow. Store images in the format and resolution in which they will be used. If the target hardware requires power of 2 dimensions, use it to create and store images.
  • For mipmap image creation at load time, filter using Box. A box filter is much faster than other filter types such as Triangle.
  • Consider using DDS files. Since they can be used to represent any Microsoft DirectX texture format, they are easily read by this method. Also, they can store mipmaps, which means that any mipmap-generation algorithms can be used to author the images.

Exceptions

InvalidCallException

The method call is invalid. For example, a method's parameter might contain an invalid value.

InvalidDataException

The data is invalid.

NotAvailableException

This device does not support the queried technique.

OutOfVideoMemoryException

Microsoft Direct3D does not have enough display memory to perform the operation.

OutOfMemoryExceptionLeave Site

Direct3D could not allocate sufficient memory to complete the call.

See Also