<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=MonoGame%2F%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%2FSurfaceFormat%E5%88%97%E6%8C%99%E4%BD%93</id>
	<title>MonoGame/クラスライブラリ/SurfaceFormat列挙体 - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=MonoGame%2F%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%2FSurfaceFormat%E5%88%97%E6%8C%99%E4%BD%93"/>
	<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=MonoGame/%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/SurfaceFormat%E5%88%97%E6%8C%99%E4%BD%93&amp;action=history"/>
	<updated>2026-06-04T06:42:24Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://monobook.org/w/index.php?title=MonoGame/%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/SurfaceFormat%E5%88%97%E6%8C%99%E4%BD%93&amp;diff=9181&amp;oldid=prev</id>
		<title>imported&gt;Administrator: ページの作成:「SurfaceFormat列挙体は、サーフェイス（Texture2DやMonoGame/クラスライブラリ/RenderTarget2D...」</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=MonoGame/%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/SurfaceFormat%E5%88%97%E6%8C%99%E4%BD%93&amp;diff=9181&amp;oldid=prev"/>
		<updated>2017-11-09T05:30:12Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「SurfaceFormat列挙体は、サーフェイス（&lt;a href=&quot;/w/index.php?title=MonoGame/%E3%82%AF%E3%83%A9%E3%82%B9%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA/Texture2D%E3%82%AF%E3%83%A9%E3%82%B9&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;「MonoGame/クラスライブラリ/Texture2Dクラス」 (存在しないページ)&quot;&gt;Texture2D&lt;/a&gt;やMonoGame/クラスライブラリ/RenderTarget2D...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;SurfaceFormat列挙体は、サーフェイス（[[MonoGame/クラスライブラリ/Texture2Dクラス|Texture2D]]や[[MonoGame/クラスライブラリ/RenderTarget2Dクラス|RenderTarget2D]]）のデータ形式を指定するための列挙体である。&lt;br /&gt;
&lt;br /&gt;
== 名前空間 ==&lt;br /&gt;
 [[MonoGame/クラスライブラリ/Microsoft.Xna.Framework.Graphics名前空間|Microsoft.Xna.Framework.Graphics名前空間]]&lt;br /&gt;
&lt;br /&gt;
== 構文 ==&lt;br /&gt;
 public enum SurfaceFormat&lt;br /&gt;
&lt;br /&gt;
== フィールド ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
! 値&lt;br /&gt;
! 概要&lt;br /&gt;
|-&lt;br /&gt;
| Alpha8&lt;br /&gt;
| 8ビットアルファのみ&lt;br /&gt;
|-&lt;br /&gt;
| Bgr32&lt;br /&gt;
| WPF D3DImageが採用している形式。詳しくは知らん。&lt;br /&gt;
|-&lt;br /&gt;
| Bgr32SRgb&lt;br /&gt;
| 青緑赤それぞれ8ビットと未使用8ビットの計32ビットのsRGB形式。&lt;br /&gt;
|-&lt;br /&gt;
| Bgr565&lt;br /&gt;
| 青5ビット、緑6ビット、赤5ビットの計16ビット&lt;br /&gt;
|-&lt;br /&gt;
| Bgra32&lt;br /&gt;
| WPF D3DImageが採用している形式。詳しくは知らん。&lt;br /&gt;
|-&lt;br /&gt;
| Bgra32SRgb&lt;br /&gt;
| 青緑赤が各8ビットとアルファ8ビットの計32ビットのsRGB形式。&lt;br /&gt;
|-&lt;br /&gt;
| Bgra4444&lt;br /&gt;
| 青緑赤アルファが各4ビットの計16ビット形式&lt;br /&gt;
|-&lt;br /&gt;
| Bgra5551&lt;br /&gt;
| 青緑赤が各5ビットとアルファが1ビットの計16ビット形式&lt;br /&gt;
|-&lt;br /&gt;
| Color&lt;br /&gt;
| 定番の32ビットABGR形式。古いXNAはARGB並びだったが末期のXNAとMonoGameはABGR。SurfaceFormatを指定しない[[MonoGame/クラスライブラリ/Texture2Dクラス|Texture2D]]や[[MonoGame/クラスライブラリ/RenderTarget2Dクラス|RenderTarget2D]]はこれになる。最重要形式。&lt;br /&gt;
|-&lt;br /&gt;
| ColorSRgb&lt;br /&gt;
| 32ビットRGBA形式。sRGB&lt;br /&gt;
|-&lt;br /&gt;
| Dxt1&lt;br /&gt;
| DXT1圧縮形式。&lt;br /&gt;
|-&lt;br /&gt;
| Dxt1SRgb&lt;br /&gt;
| DXT1圧縮形式。&lt;br /&gt;
|-&lt;br /&gt;
| Dxt1a&lt;br /&gt;
| DXT1圧縮形式。&lt;br /&gt;
|-&lt;br /&gt;
| Dxt3&lt;br /&gt;
| DXT3圧縮形式。&lt;br /&gt;
|-&lt;br /&gt;
| Dxt3SRgb&lt;br /&gt;
| DXT3圧縮形式。&lt;br /&gt;
|-&lt;br /&gt;
| Dxt5&lt;br /&gt;
| DXT5圧縮形式。&lt;br /&gt;
|-&lt;br /&gt;
| Dxt5SRgb&lt;br /&gt;
| DXT5圧縮形式。&lt;br /&gt;
|-&lt;br /&gt;
| HalfSingle&lt;br /&gt;
| 16ビットR浮動小数点数形式。&lt;br /&gt;
|-&lt;br /&gt;
| HalfVector2&lt;br /&gt;
| 32ビットRG浮動小数点数形式。&lt;br /&gt;
|-&lt;br /&gt;
| HalfVector4&lt;br /&gt;
| 64ビットARGB浮動小数点数形式。&lt;br /&gt;
|-&lt;br /&gt;
| HdrBlendable&lt;br /&gt;
| HDR浮動小数点数形式&lt;br /&gt;
|-&lt;br /&gt;
| NormalizedByte2&lt;br /&gt;
| U8ビット、V8ビットの計16ビットのバンプマップ形式。符号付き整数な点に注意。&lt;br /&gt;
|-&lt;br /&gt;
| NormalizedByte4&lt;br /&gt;
| U16ビット、V16ビットの計32ビットのバンプマップ形式。符号付き整数な点に注意。&lt;br /&gt;
|-&lt;br /&gt;
| Rg32&lt;br /&gt;
| 32ビットRG形式&lt;br /&gt;
|-&lt;br /&gt;
| RgbEtc1&lt;br /&gt;
| エリクソンのテクスチャ圧縮形式（Android）。&lt;br /&gt;
|-&lt;br /&gt;
| RgbPvrtc2Bpp&lt;br /&gt;
| PowerVRテクスチャ圧縮形式（iOSとAndroid）。&lt;br /&gt;
|-&lt;br /&gt;
| RgbPvrtc4Bpp&lt;br /&gt;
| PowerVRテクスチャ圧縮形式（iOSとAndroid）。&lt;br /&gt;
|-&lt;br /&gt;
| Rgba1010102&lt;br /&gt;
| 32ビットRGBA形式、赤緑青が各10ビット、アルファチャンネルが2ビット。[[Radeon]]系が推していた[[ディープカラー]]形式。&lt;br /&gt;
|-&lt;br /&gt;
| Rgba64&lt;br /&gt;
| 64ビットRGBA形式、赤緑青アルファが各16ビット。[[GeForce]]系が推していた[[ディープカラー]]形式。&lt;br /&gt;
|-&lt;br /&gt;
| RgbaAtcExplicitAlpha&lt;br /&gt;
| ATC/ATITC圧縮形式(Android) &lt;br /&gt;
|-&lt;br /&gt;
| RgbaAtcInterpolatedAlpha&lt;br /&gt;
| ATC/ATITC圧縮形式(Android) &lt;br /&gt;
|-&lt;br /&gt;
| RgbaPvrtc2Bpp&lt;br /&gt;
| [[PowerVR]]テクスチャ圧縮形式（[[iOS]]と[[Android]]）。&lt;br /&gt;
|-&lt;br /&gt;
| RgbaPvrtc4Bpp&lt;br /&gt;
| [[PowerVR]]テクスチャ圧縮形式（[[iOS]]と[[Android]]）。&lt;br /&gt;
|-&lt;br /&gt;
| Single&lt;br /&gt;
| IEEE32ビットR浮動小数点数フォーマット。 各チャンネルは32ビット浮動小数点数（float）。&lt;br /&gt;
|-&lt;br /&gt;
| Vector2&lt;br /&gt;
| IEEE64ビットRG浮動小数点数フォーマット。 各チャンネルは32ビット浮動小数点数（float）。&lt;br /&gt;
|-&lt;br /&gt;
| Vector4&lt;br /&gt;
| IEEE128ビットRGBA浮動小数点数フォーマット。 各チャンネルは32ビット浮動小数点数（float）。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 使用例 ==&lt;br /&gt;
SurfaceFormat.Color形式のデータを動的に作る。&lt;br /&gt;
[[データ]]の並びは「ABGR」なので注意。&lt;br /&gt;
&lt;br /&gt;
[[MonoGame/クラスライブラリ/TitleContainerクラス|TitleContainerクラス]]あたりで[[JPEG]]や[[PNG]]などの画像ファイルを開き、自前でデコードしてビットマップからテクスチャを作る場合などはこの方法を使う。たとえばスマホゲームでよくある初回起動時に画像などを別途ダウンロードさせる方式は、アプリに素材を埋め込むコンテンツパイプライン方式では対応できないため、面倒でもこの方法を使う必要がある。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
using System;&lt;br /&gt;
&lt;br /&gt;
using Microsoft.Xna.Framework;&lt;br /&gt;
using Microsoft.Xna.Framework.Graphics;&lt;br /&gt;
using Microsoft.Xna.Framework.Input;&lt;br /&gt;
&lt;br /&gt;
namespace CreateDataSample&lt;br /&gt;
{&lt;br /&gt;
    public class Game1 : Game&lt;br /&gt;
    {&lt;br /&gt;
        GraphicsDeviceManager _graphics;&lt;br /&gt;
        SpriteBatch _spriteBatch;&lt;br /&gt;
        Texture2D _texture;&lt;br /&gt;
&lt;br /&gt;
        public Game1()&lt;br /&gt;
        {&lt;br /&gt;
            _graphics = new GraphicsDeviceManager(this);&lt;br /&gt;
            Content.RootDirectory = &amp;quot;Content&amp;quot;;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override void Initialize()&lt;br /&gt;
        {&lt;br /&gt;
			// マウスカーソルを表示する&lt;br /&gt;
			this.IsMouseVisible = true;&lt;br /&gt;
&lt;br /&gt;
			// ウインドウサイズを変更する&lt;br /&gt;
			_graphics.PreferredBackBufferWidth = 640;&lt;br /&gt;
			_graphics.PreferredBackBufferHeight = 480;&lt;br /&gt;
			_graphics.ApplyChanges();&lt;br /&gt;
&lt;br /&gt;
            base.Initialize();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override void LoadContent()&lt;br /&gt;
        {&lt;br /&gt;
            _spriteBatch = new SpriteBatch(GraphicsDevice);&lt;br /&gt;
&lt;br /&gt;
            // テクスチャのサイズは「2の倍数」でなくても怒られない&lt;br /&gt;
            int w = _graphics.PreferredBackBufferWidth;&lt;br /&gt;
            int h = _graphics.PreferredBackBufferHeight;&lt;br /&gt;
&lt;br /&gt;
            // テクスチャを生成する&lt;br /&gt;
            _texture = new Texture2D(GraphicsDevice, w, h);&lt;br /&gt;
&lt;br /&gt;
            // ビットマップを生成&lt;br /&gt;
            // ここではint配列を使っているが、実際にはColor構造体配列を使った方がいい。&lt;br /&gt;
            var data = new int[w * h];&lt;br /&gt;
            for (int y = 0, k = 0; y &amp;lt; h; y++)&lt;br /&gt;
            {&lt;br /&gt;
                for (int x = 0; x &amp;lt; w; x++, k++)&lt;br /&gt;
                {&lt;br /&gt;
                    // MonoGameのSurfaceFormat.Colorは「ABGR並び」&lt;br /&gt;
                    byte a = 0xFF;&lt;br /&gt;
                    byte r = (byte)(0xFF * ((float)x / w));&lt;br /&gt;
                    byte g = (byte)(0xFF * ((float)y / h));&lt;br /&gt;
                    byte b = 0;&lt;br /&gt;
                    data[k] = (a &amp;lt;&amp;lt; 24) | (b &amp;lt;&amp;lt; 16) | (g &amp;lt;&amp;lt; 8) | (r &amp;lt;&amp;lt; 0);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            // テクスチャにぶち込む&lt;br /&gt;
            _texture.SetData(data);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override void Update(GameTime gameTime)&lt;br /&gt;
        {&lt;br /&gt;
#if !__IOS__ &amp;amp;&amp;amp; !__TVOS__&lt;br /&gt;
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape))&lt;br /&gt;
                Exit();&lt;br /&gt;
#endif&lt;br /&gt;
            base.Update(gameTime);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        protected override void Draw(GameTime gameTime)&lt;br /&gt;
        {&lt;br /&gt;
            _graphics.GraphicsDevice.Clear(Color.CornflowerBlue);&lt;br /&gt;
&lt;br /&gt;
            _spriteBatch.Begin();&lt;br /&gt;
            _spriteBatch.Draw(_texture, new Vector2(0, 0), Color.White);&lt;br /&gt;
            _spriteBatch.End();&lt;br /&gt;
&lt;br /&gt;
            base.Draw(gameTime);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 関連項目 ==&lt;br /&gt;
* [[MonoGame/クラスライブラリ/Texture2Dクラス|Texture2Dクラス]]&lt;br /&gt;
* [[MonoGame/クラスライブラリ/Texture3Dクラス|Texture3Dクラス]]&lt;br /&gt;
* [[MonoGame/クラスライブラリ/TextureCubeクラス|TextureCubeクラス]]&lt;br /&gt;
* [[MonoGame/クラスライブラリ/RenderTarget2Dクラス|RenderTarget2Dクラス]]&lt;br /&gt;
* [[MonoGame/クラスライブラリ/RenderTarget3Dクラス|RenderTarget3Dクラス]]&lt;br /&gt;
* [[MonoGame/クラスライブラリ/RenderTargetCubeクラス|RenderTargetCubeクラス]]&lt;br /&gt;
&lt;br /&gt;
[[category: MonoGame]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Administrator</name></author>
	</entry>
</feed>