imported>Administrator |
|
1行目: |
1行目: |
− | 勉強がてらJPEGのコーデックをC#で実装してみているのだが、デコード済みの画素データが格納されたbyte配列からCGImageを生成したい。
| + | '''ソーラーシティ'''([[英語]]:SolarCity Corporation)とは、住宅用および商業用の太陽光発電システム一式を製造および販売している企業である。 |
| | | |
− | == RGB画像 ==
| + | 本社はアメリカ合衆国カリフォルニア州サンマテオ、工場はニューヨーク州バッファローとなっている。 |
− | RGBなのでコンポーネント数は3で問題ないと思う。
| |
− | <source lang="csharp">
| |
− | public static CGImage CreateImage()
| |
− | {
| |
− | var colorSpace = CGColorSpace.CreateDeviceRGB();
| |
− | var width = 512;
| |
− | var height = 512;
| |
− | var bitsPerSample = 8;
| |
− | var components = 3;//RGB
| |
− | var bitsPerPixel = bitsPerSample * components;
| |
− | var bytesPerRow = bitsPerPixel / 8 * width;
| |
− | var buffer = new byte[width * height * components];
| |
| | | |
− | int a = 0;
| + | == 概要 == |
− | for (int y = 0; y < height; y++)
| + | 2016年に[[テスラ]]に買収され子会社となり、テスラの[[Powerwall]]をセット販売するようになった。 |
− | {
| |
− | for (int x = 0; x < width; x++)
| |
− | {
| |
− | var c = (byte)((1 << bitsPerSample) * ((float)y / width));
| |
− | buffer[a++] = c;
| |
− | buffer[a++] = 0;
| |
− | buffer[a++] = 0;
| |
− | }
| |
− | }
| |
| | | |
− | var data = new CGDataProvider(buffer);
| + | [[パナソニック]]の[[PVセル]]を日本から輸入し、ニューヨークのギガファクトリー2で組み立てて完成品を生産している。 |
− | var cgImage = new CGImage(
| |
− | width,
| |
− | height,
| |
− | bitsPerSample,
| |
− | bitsPerPixel,
| |
− | bytesPerRow,
| |
− | colorSpace,
| |
− | CGBitmapFlags.ByteOrderDefault,
| |
− | data,
| |
− | decode: null,
| |
− | shouldInterpolate: false,
| |
− | intent: CGColorRenderingIntent.Default);
| |
| | | |
− | return cgImage;
| + | もともとはニューヨーク州のラストベルトと呼ばれる地区にあったリパブリックスチールという製鉄会社で、絶頂期には米国3位をシェアを誇る巨大企業であった。もともとラストベルトは巨大な工業地帯であったが1970年代後半から1980年代にかけて廃墟だらけとなり、1990年代に地域再生のために「バッファロービリオン 」と呼ばれる10億ドルの公的資金を投じるという経済刺激策が行われた。この金でLED照明メーカーの「SORAA」とソーラーパネルメーカーの「Silevo」が設立され、リストラ予定だった社員たちを移籍させた。ちなみにSORRAは[[青色LED]]の発明者である[[中村修二]]を社長に据えたことで話題になった。 |
− | }
| |
− | </source>
| |
| | | |
− | 拾ってきたLennaの画像は正常にデコードできたようだ。
| + | 2014年、テスラのイーロン・マスクの従兄弟であるLyndon RiveとPeter Riveが設立したSolarCityがSilevoを買収し、ラストベルト地区にテスラの工場「ギガファクトリー」を作ると発表した。 |
− | <source>
| |
− | var error = "";
| |
− | var header = new JlsParameters();
| |
− | var dst = new MemoryStream();
| |
− | var path = Path.Combine(NSBundle.MainBundle.BundlePath, "Contents", "Resources", "lena24b.jpg");
| |
− | var src = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.None);
| |
− | var result = Jpeg.Decode(dst, src, header, out error);
| |
− | Console.WriteLine(header);
| |
| | | |
− | dst.Seek(0, SeekOrigin.Begin);
| + | 2016年、テスラがソーラーシティを買収した。 |
− | var buf = dst.ToArray();
| |
| | | |
− | // 画素データ
| + | ==関連項目== |
− | var data = new CGDataProvider(buf);
| |
− | var colorspace = CGColorSpace.CreateDeviceRGB();
| |
| | | |
− | var cgImage = new CGImage(
| + | *[[太陽光発電]] |
− | header.width,
| + | *[[フープ]] |
− | header.height,
| + | *[[バイオガス発電]] |
− | header.bitsPerSample,
| + | *[[ウンコ]] |
− | header.bitsPerSample * header.components,
| + | *[[レイトレーシング]] |
− | header.components * header.width,
| + | *[[ダークモモタロウ]] |
− | colorspace,
| |
− | CGBitmapFlags.ByteOrderDefault,
| |
− | data,
| |
− | decode: null,
| |
− | shouldInterpolate: false,
| |
− | intent: CGColorRenderingIntent.Default);
| |
− | | |
− | var nsImage = new NSImage(cgImage, new CGSize(cgImage.Width, cgImage.Height));
| |
− | </source>
| |
− | | |
− | == インデックスカラー画像 ==
| |
− | ついでにインデックスカラーも試してみた。
| |
− | <source lang="csharp">
| |
− | public static CGImage CreateIndexedImage()
| |
− | {
| |
− | var colors = new byte[] {
| |
− | 0, 0, 0,
| |
− | 63, 0, 0,
| |
− | 127, 0, 0,
| |
− | 191, 0, 0,
| |
− | 255, 0, 0
| |
− | };
| |
− | var colorSpace = CGColorSpace.CreateIndexed(CGColorSpace.CreateDeviceRGB(), colors.Length / 3, colors);
| |
− | | |
− | var width = 512;
| |
− | var height = 512;
| |
− | var bitsPerSample = 8;
| |
− | var components = 1;// Indexed Color
| |
− | | |
− | var bitsPerPixel = bitsPerSample * components;
| |
− | var bytesPerRow = bitsPerPixel / 8 * width;
| |
− | var buffer = new byte[width * height * components];
| |
− | | |
− | int a = 0;
| |
− | for (int y = 0; y < height; y++)
| |
− | {
| |
− | for (int x = 0; x < width; x++)
| |
− | {
| |
− | var c = (byte)((colors.Length / 3) * ((float)y / width));
| |
− | buffer[a++] = c;
| |
− | }
| |
− | }
| |
− | | |
− | var data = new CGDataProvider(buffer);
| |
− | var cgImage = new CGImage(
| |
− | width,
| |
− | height,
| |
− | bitsPerSample,
| |
− | bitsPerPixel,
| |
− | bytesPerRow,
| |
− | colorSpace,
| |
− | CGBitmapFlags.ByteOrderDefault,
| |
− | data,
| |
− | decode: null,
| |
− | shouldInterpolate: false,
| |
− | intent: CGColorRenderingIntent.Default);
| |
− | | |
− | return cgImage;
| |
− | }
| |
− | </source>
| |
− | | |
− | == 関連項目 ==
| |
− | | |
− | == 参考文献 ==
| |
− | {{reflist}}
| |
− | | |
− | [[category: Xamarin.Mac]] | |
− | [[category: Core Graphics]] | |
ソーラーシティ(英語:SolarCity Corporation)とは、住宅用および商業用の太陽光発電システム一式を製造および販売している企業である。
本社はアメリカ合衆国カリフォルニア州サンマテオ、工場はニューヨーク州バッファローとなっている。
概要
2016年にテスラに買収され子会社となり、テスラのPowerwallをセット販売するようになった。
パナソニックのPVセルを日本から輸入し、ニューヨークのギガファクトリー2で組み立てて完成品を生産している。
もともとはニューヨーク州のラストベルトと呼ばれる地区にあったリパブリックスチールという製鉄会社で、絶頂期には米国3位をシェアを誇る巨大企業であった。もともとラストベルトは巨大な工業地帯であったが1970年代後半から1980年代にかけて廃墟だらけとなり、1990年代に地域再生のために「バッファロービリオン 」と呼ばれる10億ドルの公的資金を投じるという経済刺激策が行われた。この金でLED照明メーカーの「SORAA」とソーラーパネルメーカーの「Silevo」が設立され、リストラ予定だった社員たちを移籍させた。ちなみにSORRAは青色LEDの発明者である中村修二を社長に据えたことで話題になった。
2014年、テスラのイーロン・マスクの従兄弟であるLyndon RiveとPeter Riveが設立したSolarCityがSilevoを買収し、ラストベルト地区にテスラの工場「ギガファクトリー」を作ると発表した。
2016年、テスラがソーラーシティを買収した。
関連項目