位置情報で子どもの居場所をお知らせ

画像データ(png)をcsvファイルに変換するにはどうしたらよいでしょうか。csv→pngのソフトはあったのですが。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

>pngからjpegへの展開はどのように



例えば下記
http://www.vector.co.jp/soft/win95/art/se200307. …

しかしjpgにすると、多少なりとも画質が低下するのでbmpに変換して下記など使用すると良いのかもしれませんhttp://www.vector.co.jp/soft/win95/art/se108144. …
    • good
    • 0
この回答へのお礼

丁寧なご回答ありがとうございました。
試してみます。

お礼日時:2009/09/17 22:52

画像データ(png)を展開してjpgで保存すれば下記の変換ソフトなどが使えるのでは?


http://www.vector.co.jp/soft/win95/art/se261894. …
    • good
    • 0
この回答へのお礼

さっそくご回答ありがとうございました。
pngからjpegへの展開はどのようにすればよろしいのでしょうか。
教えていただけると幸いです。

お礼日時:2009/09/12 19:49

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qcsvファイルをjpgファイルに変換したいのですが。

csvファイルをjpgファイルに変換したいのですが。

Excelで作ったcsvファイルを変換したいのですが、無料で良いソフトがありますか?
教えてください。 

chgfld340と言うのを入れてみたのですが、とても綺麗に出ません・・ 

Aベストアンサー

chgfld340というソフトは
ざっと本家の説明を読む限り、固定長とCSVの変換、及びHTML形式への出力となっており、
jpegへの変換に関する記述が見当たらないのですが、

本当にこのソフトでjpeg形式に変換できたのでしょうか?

それはさておき、jpegとして取るなら、他の方が書かれているように、
ハードコピーを撮ることになるかと。

またjpegの画質は、保存時の画質設定によって変化するのでそこを調整すれば良いかと。
(使用する画像編集ソフトによっては、画質設定が出来ない場合があります)

Q画像データ(bmp)を数値データに変換する。

白黒の画像データを数値データに変換したいのですが、何かいいソフトは無いでしょうか。

Aベストアンサー

>x.y.Z座標のデータにはどう変換すればいいのでしょうか。

関係資料が行方不明なので.見付方だけ
1.マイクロソフトの言語ソフトのどこかにBMPファイルの書式が記載されているはずですので.これを探す。
2.私のように見つからなかったならば.
何も書かれていない大きさの異なるBMPファイルを複数作って.ヘッターの大きさと意味を見当つける。
BMPはベタファイルなので.(ヘッターサイズ)+(縦の大きさ)*(横の大きさ)*(1点を表示するのに必要な大きさ)=(ファイルサイズ)で求められるはずです。
色違い・場所違いのBMPファイルを作って.点の意味を見当つけて.残りはエイヤーと適当に.数値に直します。

以上の作業で運がよけれは.実労半日でしょう。パレット情報関係をいじらなければすぐできます。

それと.著作権の関係で.作ったソフトは自分専用として.他人(家計を同一とする人を除く)には見せない・使わせないように。結果だけ渡すようにすること。
BMPが規格であるならば.著作権等が成立しないので.いくらでもコピーできるのですが.この関係がはっきりしていないのです。

>x.y.Z座標のデータにはどう変換すればいいのでしょうか。

関係資料が行方不明なので.見付方だけ
1.マイクロソフトの言語ソフトのどこかにBMPファイルの書式が記載されているはずですので.これを探す。
2.私のように見つからなかったならば.
何も書かれていない大きさの異なるBMPファイルを複数作って.ヘッターの大きさと意味を見当つける。
BMPはベタファイルなので.(ヘッターサイズ)+(縦の大きさ)*(横の大きさ)*(1点を表示するのに必要な大きさ)=(ファイルサイズ)で求められる...続きを読む

QLNK2019: 未解決の外部シンボルのエラーが出る

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自キャラのデータ
Point2D g_jikipos = {40, 400};//自キャラの座標

//画像ハンドル
int g_jikiimage[11];

//色々なファイルの読み込み
int LoadFiles(){
//画像ファイル読み込み
if(LoadDivGraph("media\\player01.bmp",
11,11,1,64,64,g_jikiimage) == -1) return -1;

return 1;
}


 mymain.h
//他から呼び出させるMyMainの関数
void MyMain();
int LoadFiles();


 myhelper.h(サンプルなので打ちミスはない)
#include "DxLib.h"
#include <limits.h>
#include <math.h>

//構造体宣言
//座標またはベクトルを記録する構造体
struct Vector{
float x,y;
};
typedef Vector Point2D;
//線を記録する構造体
struct Line2D{
Point2D startpos, endpos;
float katamuki;//傾きをラジアン値で記録
Vector speed;//移動している場合は速度をセット
};
//球体を記録する構造体
struct Ball2D{
Point2D position;
float hankei;//半径
};
//四角形を記録する構造体
struct Rect2D{
Point2D lefttop;
Point2D rightbottom;
float width;
float height;
};


//ライブラリ関数
Point2D PosInView(Point2D in);
int XInView(float inx);
int YInView(float iny);
void ScrollToLeft(float jikiposx);
void ScrollToRight(float jikiposx);
void ScrollToUp(float jikiposy);
void ScrollToDown(float jikiposy);
void DrawLineInView(float x1, float y1, float x2, float y2, int Color, int Thickness);
void DrawCircleInView(float x, float y, float r, int Color, int FillFlag);
void DrawAnimation(float x, float y, double ExtRate, double Angle,int TurnFlag,
int *imgarray, int allframe, float fps);
//ベクトル関数
Vector CreateVector(Vector in, float veclen);
Vector AddVector(Vector v1, Vector v2);
Vector SubVector(Vector v1, Vector v2);
Vector AddVectorInFrameTime(Vector pos, Vector speed);
Vector AddVectorInFrameTime2(Vector pos, Vector speed, Vector accel);
Vector Normalize(Vector in);
Vector RotateVector(Vector in, float radian);
float VectorLengthSquare(Vector in);
float DotProduct(Vector v1, Vector v2);
float CrossProduct(Vector v1, Vector v2);
void SetLine2DKatamuki(Line2D *in);
void DrawLine2D(Line2D in, int Color, int Thickness);
void DrawBall2D(Ball2D in, int Color, int Fill);
//当たり判定関数
bool HitTestLineAndBall(Line2D linein, Ball2D ballin);
bool IsPointAtLineFace(Line2D linein, Point2D ptin);
bool HitTestLineAndLine(Line2D line1, Line2D line2);
bool HitTestBallAndBall(Ball2D a, Ball2D b);
bool HitTestPointAndBox(Rect2D rect, Point2D pt);
//タイマー関数
void SetSimpleTimer(int idx, int time);
int GetPassedTime(int idx);


//グローバル変数
extern float g_frametime;
extern Rect2D g_framerect;//画面領域(当たり判定)
extern Point2D g_current_field_pos;//現在の左上座標
extern Rect2D g_stagesize;//ステージサイズ

//定数宣言
const float ZEROVALUE = 1e-10f;
const float PIE = 3.1415926f;
const int SCROLL_LIMIT = 200;
----------------------------------------------------------------
 エラー内容
1>myhelper.obj : error LNK2019: 未解決の外部シンボル "void __cdecl MyMain(void)" (?MyMain@@YAXXZ) が関数 _WinMain@16 で参照されました
1>C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\my\Debug\my.exe : fatal error LNK1120: 外部参照 1 が未解決です
1>my - エラー 2、警告 0
ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ
----------------------------------------------------------------
画像を貼り付けときます
(見えにくい場合→http://www.dotup.org/uploda/www.dotup.org154142.jpg.html)
初心者なのでわかりやすくお願いします

Microsoft Visual Studio 2008
Version 9.0.21022.8 RTM
Microsoft .NET Framework
Version 3.5 SP1
----------------------------------------------------------------
新しいプリジェクト→Win32 コンソール アプリケーション(ソリューションのディレクトリを作成 チェック外す)→Windows アプリケーション(空のプロジェクト チェック外す)
----------------------------------------------------------------
 プログラム

 mymain.cpp
#include "myhelper.h"
#include "mymain.h"

//自...続きを読む

Aベストアンサー

ファイル構成から推測するに
mymain.cpp というファイルに
void MyMain(void) {
// ここに処理を書く
}
という関数が必要なようです。

QRGB値をExcelにエクスポートできませんか?

画像のRGB値をExcelにエクスポートしたいのですが…、どなたか教えていただけませんか?

Aベストアンサー

>CSV形式のデータを使うだけなら、C等でツールを作ればデータとしては、作れますが...。
取りあえず、簡単に作ってみましたので、以下に貼ってみます。(一応、BCCで動作は確認しました。)
------------------------------
/*BMP to CSV Convert*/
/*Present from Quenista*/
/*2001/12/14-2001/12/14*/

#defineVERSION(1.00)
#defineHELP_STRINGS"BMP2CSV _InputFile_ [_OutoutFile_]\n"

#include<dos.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<stdarg.h>

/*BMP Data Format*/
typedefstructBmpFileHeader{
unsignedcharszType[2];/*'BM' Strings*/
unsignedlongulSize;/*Hedder+Infomation+Pallet+Data Size*/
unsignedshortusReserved1;/*Reserved*/
unsignedshortusReserved2;/*Reserved*/
unsignedlongulOffBits;/*Hedder+Infomation+Pallet Size*/
}BMHD;

typedefstructBmpInfomation{
unsignedlongulSize;/*Infomation Data Size*/
unsignedlongulWidth;/*X Pixel Size*/
unsignedlongulHeight;/*Y Pixel Size*/
unsignedshortusPlanes;
unsignedshortusBitCount;/*1Pixel Bits Size*/
unsignedlongulCompression;
unsignedlongulSizeImage;/*Data Byte Size*/
unsignedlongulXPelsPerMeter;/*X Pixel/Meter*/
unsignedlongulYPelsPerMeter;/*Y Pixel/Meter*/
unsignedlongulClrUsed;
unsignedlongulClrImportant;
}BMIF;

typedefstructPalletInfomation{
unsignedcharucB;
unsignedcharucG;
unsignedcharucR;
unsignedcharucC;
}PLIF;

voiderror_exit(char*str,...)
{
intiError;

iError=(errno==(int)NULL)?-1:errno;
fputc('\n',stderr);
fprintf(stderr,str);
fputc('\n',stderr);
fcloseall();
exit(iError);
}

intbmp_csv(FILE*fpOutput,FILE*fpInput)
{
intiLoop;
intiLoopX,iLoopY,iPallet;
unsignedlongulBmpDataStack;
BMHDbmhdBmpHedder;
BMIFbmifBmpInfomation;
PLIFplifBmpPallet[256];
PLIFplifPallet;

/*Get BMP Headder*/
fread((void*)&bmhdBmpHedder,sizeof(BMHD),1,fpInput);
if(strncmp(bmhdBmpHedder.szType,"BM",2)!=0)error_exit("Bmp Data Error!");
fread((void*)&bmifBmpInfomation,sizeof(BMIF),1,fpInput);

/*Get BMP Pallet*/
for(iLoop=0;iLoop<(int)((bmhdBmpHedder.ulOffBits-(sizeof(BMHD)+sizeof(BMIF)))/4);iLoop++){
fread((void*)&plifBmpPallet[iLoop],sizeof(PLIF),1,fpInput);
}

/*Make CSV Hedder*/
for(iLoop=0;iLoop<(int)bmifBmpInfomation.ulWidth;iLoop++){fprintf(fpOutput,"B,G,R,");}
fprintf(fpOutput,"\n");

/*Get Map Data*/
for(iLoopY=0;iLoopY<(int)bmifBmpInfomation.ulHeight;iLoopY++){
for(iLoopX=0;iLoopX<(int)bmifBmpInfomation.ulWidth;iLoopX++){
if((iLoopX%(8/bmifBmpInfomation.usBitCount))==0){
fread((char*)&ulBmpDataStack,((bmifBmpInfomation.usBitCount+7)/8),1,fpInput);
}
if(bmifBmpInfomation.usBitCount<=8){
iPallet=(unsignedchar)(ulBmpDataStack&(~(0xFF>>bmifBmpInfomation.usBitCount)))>>(8-bmifBmpInfomation.usBitCount);
plifPallet.ucB=plifBmpPallet[iPallet].ucB;
plifPallet.ucR=plifBmpPallet[iPallet].ucR;
plifPallet.ucG=plifBmpPallet[iPallet].ucG;
ulBmpDataStack<<=bmifBmpInfomation.usBitCount;
}
else{
plifPallet.ucB=(unsignedchar)(ulBmpDataStack&(~(0xFF<<(bmifBmpInfomation.usBitCount/3))));
ulBmpDataStack>>=((bmifBmpInfomation.usBitCount/3)-1);
plifPallet.ucR=(unsignedchar)(ulBmpDataStack&(~(0xFF<<(bmifBmpInfomation.usBitCount/3))));
ulBmpDataStack>>=((bmifBmpInfomation.usBitCount/3)-1);
plifPallet.ucG=(unsignedchar)(ulBmpDataStack&(~(0xFF<<(bmifBmpInfomation.usBitCount/3))));
ulBmpDataStack>>=((bmifBmpInfomation.usBitCount/3)-1);
}
fprintf(fpOutput,"%03d,%03d,%03d,",plifPallet.ucB,plifPallet.ucR,plifPallet.ucG);
}
fprintf(fpOutput,"\n");
}

fclose(fpInput);
fclose(fpOutput);

return0;
}

voidmain(unsignedintargc,unsignedchar*args[])
{
FILE*fpInput;
FILE*fpOutput;
unsignedintuiCount;

printf("BMP to CSV Convert Tool Version %.2f Copyright(c) Quenista\n",VERSION);

/*Initial*/
uiCount=1;

if(argc<2)error_exit(HELP_STRINGS);

while(args[uiCount][0]=='-'){
switch(args[uiCount][1]){
default:
error_exit(HELP_STRINGS);
break;
}
uiCount++;
}

if((fpInput=fopen(args[uiCount],"rb"))==NULL)error_exit("Input File Open Error!");
uiCount++;
if(argc>uiCount){
if((fpOutput=fopen(args[uiCount],"w+b"))==NULL)error_exit("Output File Open Error!");
}
else{
fpOutput=stdout;
}
if(bmp_csv(fpOutput,fpInput)!=0)error_exit("Abnormal End!");

fcloseall();

printf("Convert End!\n");
}

------------------------------
取りあえず、普通のコンパイラなら通ると思いますが、コンパイル時オプションにバイトのAlignだけ注意が必要です。

>CSV形式のデータを使うだけなら、C等でツールを作ればデータとしては、作れますが...。
取りあえず、簡単に作ってみましたので、以下に貼ってみます。(一応、BCCで動作は確認しました。)
------------------------------
/*BMP to CSV Convert*/
/*Present from Quenista*/
/*2001/12/14-2001/12/14*/

#defineVERSION(1.00)
#defineHELP_STRINGS"BMP2CSV _InputFile_ [_OutoutFile_]\n"

#include<dos.h>
#include<conio.h>
#include<stdio.h>
#include<...続きを読む

Aベストアンサー

いくつか方法がございます

ペイント(標準では、スタート→すべてのプログラム→アクセサリ→ペイント)を使いましょう。


起動してから、テキストボックスを生成しましょう。
左側にある「A」とかかれているボタンです。

その後、TXTファイルの中身をコピー&ペースト。

最後にJPG形式で保存。


こんな感じでいかがでしょうか?




もうひとつ方法を。
.txtファイルを開き、その状態で、「Alt+Print Screen」をした後、ペイントを起動して、「編集→貼り付け」
その後先ほどと同じように保存。

Qエクセルで計算すると2.43E-19などと表示される。Eとは何ですか?

よろしくお願いします。
エクセルの回帰分析をすると有意水準で2.43E-19などと表示されますが
Eとは何でしょうか?

また、回帰分析の数字の意味が良く分からないのですが、
皆さんは独学されましたか?それとも講座などをうけたのでしょうか?

回帰分析でR2(決定係数)しかみていないのですが
どうすれば回帰分析が分かるようになるのでしょうか?
本を読んだのですがいまいち難しくて分かりません。
教えてください。
よろしくお願いします。

Aベストアンサー

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるための指数表記のことですよ。
・よって、『2.43E-19』とは?
 2.43×1/(10の19乗)で、
 2.43×1/10000000000000000000となり、
 2.43×0.0000000000000000001だから、
 0.000000000000000000243という数値を意味します。

補足:
・E+数値は 10、100、1000 という大きい数を表します。
・E-数値は 0.1、0.01、0.001 という小さい数を表します。
・数学では『2.43×10』の次に、小さい数字で上に『19』と表示します。→http://ja.wikipedia.org/wiki/%E6%8C%87%E6%95%B0%E8%A1%A8%E8%A8%98
・最後に『回帰分析』とは何?下の『参考URL』をどうぞ。→『数学』カテゴリで質問してみては?

参考URL:http://ja.wikipedia.org/wiki/%E5%9B%9E%E5%B8%B0%E5%88%86%E6%9E%90

★回答
・最初に『回帰分析』をここで説明するのは少し大変なので『E』のみ説明します。
・回答者 No.1 ~ No.3 さんと同じく『指数表記』の『Exponent』ですよ。
・『指数』って分かりますか?
・10→1.0E+1(1.0×10の1乗)→×10倍
・100→1.0E+2(1.0×10の2乗)→×100倍
・1000→1.0E+3(1.0×10の3乗)→×1000倍
・0.1→1.0E-1(1.0×1/10の1乗)→×1/10倍→÷10
・0.01→1.0E-2(1.0×1/10の2乗)→×1/100倍→÷100
・0.001→1.0E-3(1.0×1/10の3乗)→×1/1000倍→÷1000
・になります。ようするに 10 を n 乗すると元の数字になるた...続きを読む

Qビットマップ画像を読み込むプログラムがうまく行きません。困ってます…。

こんにちは。大学4年のyu-tinと申します。
現在、大学の研究で使用するためのプログラムとして、以下の機能を持ったプログラム作りに取り込んでいます。

1)ビットマップ画像(グレースケール、縦480×横640pixel)を読み込み、
 その画像の1つ1つの画素の輝度値を表示させる
2)読み込んだビットマップ画像を出力させる

しかし、作成したプログラムがうまく行きません。以下の3つの問題が発生しています。

a)0行0列~1行383列までの画素値がおかしい。
 (0,0,0,0,1,1,1,0,2,2,2,0,3,3,3,0,…,254,0,255,255,255,0 となっている)
b)出力した画像の最上部2行程度に、細くて黒い線が表示される。
 (読み込んだ画像と全く同じ画像を出力させたい)
c)出力した画像が、”ディスクエラー”によりPhotoshopで開けない。
 (ペイントでは開ける)

その問題のプログラムは、以下の通りです。
しかし、このプログラムは、他人のプログラムに改良を加えて作成したものです。なので、このプログラム自体、私自身が完璧に理解できていない状況です。

私は、プログラミングに関しては初心者に近いので、丁寧に教えて頂けると大変助かります。
研究が先に進まず、大変困っています…。みなさま、本当に、本当によろしくお願い致します。



//ビットマップ画像に関するプログラム。
//画像の表示と輝度値の表示を行う。

#include<stdio.h>
#include<windows.h>
#include<stdlib.h>

#define X_SIZE 640  //画像の横幅(ピクセル数)
#define Y_SIZE 480  //画像の縦幅(ピクセル数)
#define Z_SIZE 1    //1つの画素に含まれる色の数

void *malloc(size_t size);

void main(void)
{
 int i, j, k;   //ループ用変数 i…縦の画素用, j…横の画素用, k…色数用
 int x=0;    //画像の横幅(ピクセル数)*/
 int y=0;     //画像の縦幅(ピクセル数)
 FILE *fp;

/***********元画像データのメモリ確保*********/
 BYTE ***mae;
 mae=(BYTE ***)malloc(sizeof(BYTE **)*Y_SIZE);
 for(i = 0; i < Y_SIZE; i++){
  mae[i]=(BYTE **)malloc(sizeof(BYTE *)*X_SIZE);
 }
 for(i = 0; i < Y_SIZE; i++){
  for(j = 0; j < X_SIZE; j++){
   mae[i][j]=(BYTE *)malloc(sizeof(BYTE)*Z_SIZE);
  }
 }

/*******画像の読み込み・輝度値の表示*******/
 fp=fopen("sample1.bmp","rb");   //画像”sample1”を開く

 BITMAPFILEHEADER bmfh;
 BITMAPINFOHEADER bmih;

 fread(&bmfh,sizeof(bmfh),1,fp);
 fread(&bmih,sizeof(bmih),1,fp);

 x=bmih.biWidth;  //インフォヘッダに含まれる画像の幅情報をxに代入
 y=bmih.biHeight;  //インフォヘッダに含まれる画像の高さ情報をyに代入

 for(i = 0; i < y ;i++){
  for(j = 0; j < x; j++){
   fread(&mae[i][j][0],sizeof(BYTE),1,fp);
   if(i<640 && j<480)printf("%d, %d, %d\n",i, j, mae[i][j][0]);   //輝度値を表示
  }
 }
 fclose(fp);

/**************画像の表示*************/
 //画像”sample1”を”sample2”という名前で出力する
 fp = fopen("sample2.bmp" ,"wb");

 //ヘッダの書き込み
 fwrite(&bmfh,sizeof(bmfh),1,fp);
 fwrite(&bmih,sizeof(bmih),1,fp);

 for(i = 0; i < bmih.biHeight; i++){
  for(j = 0; j < bmih.biWidth; j++){
   fwrite(&mae[i][j][0],sizeof(BYTE),1,fp);
  }
 }
 fclose(fp);  //ファイルをクローズ

}

こんにちは。大学4年のyu-tinと申します。
現在、大学の研究で使用するためのプログラムとして、以下の機能を持ったプログラム作りに取り込んでいます。

1)ビットマップ画像(グレースケール、縦480×横640pixel)を読み込み、
 その画像の1つ1つの画素の輝度値を表示させる
2)読み込んだビットマップ画像を出力させる

しかし、作成したプログラムがうまく行きません。以下の3つの問題が発生しています。

a)0行0列~1行383列までの画素値がおかしい。
 (0,0,0,0,1,1,1,0,2,2,2,0,3...続きを読む

Aベストアンサー

ビットマップファイルにはビット深度が24ビット未満の場合
このファイルで使用されるパレットが登録されています
BITMAPINFOHEADER と 実際のビットイメージの間に
RGBA*何色といったパレットが存在します
グレースケールの8bitなら256個です
何個あるかは BITMAPINFOHEADERのbiClrUsedがそれに当ります
これが0ならbiBitCountをビットシフトして求めます
1 << biBitCountが個数になります
実際のバイトデータとしては
(1 << biBitCount) * sizeof(RGBQ) バイト存在します

したがって
BYTE* pPalette = (BYTE*)calloc( sizeof(RGBQ), (1 << biBitCount) );
とバッファを宣言して

fread(&bmih,sizeof(bmih),1,fp);
の後で
fread( pPalette, sizeof(RGBQ), (1 << biBitCount), fp );
を実行してから
色情報を取得しましょう

書き出すときも同じように
fwrite(&bmih,sizeof(bmih),1,fp);
の後で
fwrite( pPalette, sizeof(RGBQ), (1 << biBitCount), fp );
を実行します

あと動的に確保したバッファは使い終わったら free()で開放しましょう

return 0;の前に
 free( pPalette );
 for(i = 0; i < Y_SIZE; i++){
  for(j = 0; j < X_SIZE; j++){
   free(mae[i][j]);
  }
 }
 for(i = 0; i < Y_SIZE; i++){
  free(mae[i]);
 }
 free(mae);
といった具合に 逆順に開放していきます

ビットマップファイルにはビット深度が24ビット未満の場合
このファイルで使用されるパレットが登録されています
BITMAPINFOHEADER と 実際のビットイメージの間に
RGBA*何色といったパレットが存在します
グレースケールの8bitなら256個です
何個あるかは BITMAPINFOHEADERのbiClrUsedがそれに当ります
これが0ならbiBitCountをビットシフトして求めます
1 << biBitCountが個数になります
実際のバイトデータとしては
(1 << biBitCount) * sizeof(RGBQ) バイト存在します

したがって
BYTE* pPalette...続きを読む

QCSV形式に変換

プログラミング(C言語)で、ファイルの内容をCSV形式に変換し、指定した出力ファイルに出力するプログラムを作成せよ。という課題がありましたが、
ファイルの内容をCSV形式に変換
がわかりません。どのようなプログラムをかいたらよいのでしょうか?

Aベストアンサー

#5です。
よく見たらフィールド内での入れ替えが居るようなので、
#5で書いたやり方ではできませんね。。。
#参考だしいいのかな。。。

読み込みを一行ずつにして、
中を入れ替えて・・・
という作業が必要になります。

Qcsv形式からbmpを作成

「bmp2csv」というソフトを使って、bmp形式の画像をモノクロで0,1 の2値データとしてcsv形式で保存しました。

この操作の逆で、csv形式のデータからbmp形式の画像を作成するにはどうしたらよいでしょうか。

Aベストアンサー

ppm形式を経由させることをお勧めします。

ppm形式はテキストで画素値を並べた構造をしたファイルです。
それなりの置換機能を持つテキストエディタがあればcsvからppmを作ることは難しくないでしょう。
たとえば私はEmEditorというエディタを使っています。他に秀丸が有名です。
ppmが読めるソフトはIrfanViewがよいでしょう。他にGIMPでも読めます。
ppmのフォーマットはこちらを参考に。
http://www.not-enough.org/abe/manual/command/netpbm/ppm.html

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?


人気Q&Aランキング