atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
1729 @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
1729 @ ウィキ
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
1729 @ ウィキ
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • 1729 @ ウィキ
  • BMP

1729 @ ウィキ

BMP

最終更新:2008年09月16日 11:09

1729

- view
だれでも歓迎! 編集
とりあえず ここ のサンプルをそのまま動かすpythonコード

if __name__ == '__main__':
    bmp = ''.join(map(chr,[
                           0x42,0x4d,                         # 'BM'
                           0x48,0,0,0,                        # file size 0x48
                           0,0,                               # 0
                           0,0,                               # 0
                           0x20,0,0,0,                        # pixel data start at 0x20
                           0x0c,0,0,0,                        # size of struct, 0x0c
                           0x0a,0,                            # image height: 10
                           0x0a,0,                            # image width: 10
                           1,0,                               # 1
                           1,0,                               # 1
                           0x00,0x00,0x80,                    # color: dark red (#800000)
                           0x00,0x00,0x00,                    # color: black
                           0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   # * pixel data
                           0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,   # *
                           0,0,0,0,0,0,0,0                    # *
                           ]))
    f = open('test.bmp', 'wb') # 'wb' (write + binary)
    f.write(bmp)
    f.close()

出力:


HSL空間から、RGB空間への座標変換など
def hsl2rgb(h, s, l):
    h %= 360
    assert any(isinstance(x, float) for x in (h, s, l))
    assert 0 <= h < 360
    assert 0 <= s <= 1
    assert 0 <= l <= 1
    if l <= 0.5:
        sat_diff = s*l
    else:
        sat_diff = s*(1-l)
    max = l + sat_diff
    min = l - sat_diff
    hue_diff = 2*sat_diff*(h%60)/60
    if h < 60:
        r = max
        g = min + hue_diff
        b = min
    elif 60 <= h < 120:
        r = max - hue_diff
        g = max
        b = min
    elif 120 <= h < 180:
        r = min
        g = max
        b = min + hue_diff
    elif 180 <= h < 240:
        r = min
        g = max - hue_diff
        b = max
    elif 240 <= h < 300:
        r = min + hue_diff
        g = min
        b = max
    elif 300 <= h :
        r = max
        g = min
        b = max - hue_diff
    return r, g, b

def unit2byte(x):
    return chr(int(x*255))

画像の出力など
import math
import random
import imlib

class Pixel(object):
    def __init__(self, rgb=None, hsl=None):
        if rgb:
            self.rgb = rgb
        elif hsl:
            self.rgb = imlib.hsl2rgb(*hsl)
        else:
            self.rgb = 0, 0, 0
    def __str__(self):
        return ''.join(map(imlib.unit2byte, self.rgb))

class PPM(object):
    def __init__(self, xy):
        self.x, self.y = xy
        self.table = [[Pixel(hsl=[(1-abs(self.grad(i)*self.grad(j)*2-1))*36000/1.67, 1.0 , 0.5]) for i in range(self.x)] for j in range(self.y)]
    def grad(self, c, r=0):
        if not r:
            return float(c)/self.x
        else:
            return float(self.x - c)/self.x
    def grad_y(self, c):
        return c*255/self.y
    def to_ppm(self):
        data = 'P6\n#\n%s %s\n255\n' % (self.x, self.y)
        data += ''.join(''.join(str(pixel) for pixel in row) for row in self.table)
        return data
    def save_as(self, file):
        f = open(file, 'wb')
        f.write(self.to_ppm())
        f.close()

def test():
    PPM((120,)*2).save_as('img.ppm')

if __name__ == '__main__':
    test()




45x45:

48x48:





.....

120x120:



「BMP」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • a1.png
  • a10.png
  • a11.png
  • a12.png
  • a2.png
  • a3.png
  • a4.png
  • a5.png
  • a6.png
  • a7.png
  • a8.png
  • a9.png
  • b.png
  • b2.png
  • b3.png
  • b4.png
  • gray1.png
  • gray2.png
  • gray3.png
  • gray4.png
  • gray5.png
  • img.png
  • img10.png
  • img11.png
  • img12.png
  • img13.png
  • img14.png
  • img15.png
  • img16.png
  • img17.png
  • img19.png
  • img2.png
  • img20.png
  • img21.png
  • img22.png
  • img23.png
  • img24.png
  • img3.png
  • img4.png
  • img5.png
  • img6.png
  • img7.png
  • img8.png
  • img9.png
  • my.png
  • t.png
  • t10.png
  • t11.png
  • t12.png
  • t13.png
  • t14.png
  • t2.png
  • t3.png
  • t4.png
  • t5.png
  • t6.png
  • t7.png
  • t8.png
  • t9.png
  • test.bmp
  • white.png
1729 @ ウィキ
記事メニュー
メニュー
  • トップページ
  • リンク
  • ページ一覧



更新履歴

取得中です。



@wiki ヘルプ
記事メニュー2
リンク

golf+
  • anarchy golf
  • Code Golf
  • Project Euler
  • ICFP contest 2008
  • どう書く?org ソースコード投稿サイト。(作者:西尾泰和)
  • Sphere Online Judge ポーランドのオンラインジャッジ
  • ESOGOLF
  • Python Challenge

game
  • Bloxorz
  • 干し柿落しゲーム
  • Echo Ruler
  • 3分ゲーコンテスト
  • flow
  • 脱出ゲーム
  • Fantastic Contraption


lang
  • The GAWK Manual
  • A+ Documentation
  • Z80アセンブリャ講座
  • Z80命令セット
  • Z80命令表
  • Z80用アッセンブラ&エミュレータ

anime
  • lucky☆star

python
  • comp.lang.python
  • python-ideas python拡張のアイデア

BusyBeaver
  • The Busy Beaver Competitions

Contest
  • 全日本パズル選手権
  • 全日本ナンプレ選手権

Format
  • Wotsit.org
最近更新されたページ
  • 4558日前

    トップページ/コメントログ
  • 4806日前

    トップページ
  • 4806日前

    トップページ過去ログ (2011)
  • 4806日前

    トップページ過去ログ (2010)
  • 5527日前

    トップページ過去ログ(2009)
  • 5759日前

    My Contraption
  • 5870日前

    ブラーチャ・カラマーゾヴィ
  • 5871日前

    icfp2009
  • 5960日前

    DQ4日記(暫定版)
  • 5983日前

    メニュー
もっと見る
最近更新されたページ
  • 4558日前

    トップページ/コメントログ
  • 4806日前

    トップページ
  • 4806日前

    トップページ過去ログ (2011)
  • 4806日前

    トップページ過去ログ (2010)
  • 5527日前

    トップページ過去ログ(2009)
  • 5759日前

    My Contraption
  • 5870日前

    ブラーチャ・カラマーゾヴィ
  • 5871日前

    icfp2009
  • 5960日前

    DQ4日記(暫定版)
  • 5983日前

    メニュー
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  2. MadTown GTA (Beta) まとめウィキ
  3. R.E.P.O. 日本語解説Wiki
  4. シュガードール情報まとめウィキ
  5. ソードランページ @ 非公式wiki
  6. AviUtl2のWiki
  7. Dark War Survival攻略
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. 星飼いの詩@ ウィキ
  10. 2025.3.15 小田急線運用表
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  4. ゲームカタログ@Wiki ~名作からクソゲーまで~
  5. 初音ミク Wiki
  6. 検索してはいけない言葉 @ ウィキ
  7. 発車メロディーwiki
  8. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  9. モンスター烈伝オレカバトル2@wiki
  10. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 参加者一覧 - ストグラ まとめ @ウィキ
  2. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  3. 機体一覧 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  4. 鬼レンチャン(レベル順) - 鬼レンチャンWiki
  5. いのちのたま(ポケモン) - アニヲタWiki(仮)
  6. 千鳥の鬼レンチャン 挑戦者一覧 - 千鳥の鬼レンチャン サビだけカラオケデータベース
  7. ドンキーコング バナンザ - アニヲタWiki(仮)
  8. チンポ画像収集場 - 検索してはいけない言葉 @ ウィキ
  9. 危険度7 - 検索してはいけない言葉 @ ウィキ
  10. フランクリン・リチャーズ - アメコミ@ wiki
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.