本文目錄一覽:
請教CImage類中Save函數怎麼用
構造函數 ,是一種特殊的方法。主要用來在創建對象時初始化對象, 即為對象成員變數賦初始值,總與new運算符一起使用在創建對象的語句中。特別的一個類可以有多個構造函數 ,可根據其參數個數的不同或參數類型的不同來區分它們 即構造函數的重載。
JAVA例子
1
2
3
4
5
6
7
8
9
public class UserManagerImpl implements UserManager {
private UserDao userDao;
public UserManagerImpl(UserDao userDao){
this.userDao=userDao;
}
public void save(String username,String password){
this.userDao.save(username, password);
}
}
注意: 由於Java不允許像C++那樣為函數的參數提供預設值,因此在構造函數中也不能使用預設值.
構造函數的特點:
1.它的函數名與類名相同;
2.它可以重載;
3.不能指定返回類型,即使是void也不行;
4.雖然在一般情況下,構造函數不被顯式調用,而是在創建對象時自動被調用。但是並不是不能被顯示調用。有些時候是一定要顯示調用的,只要是父類有帶參的構造函數,在子類中就必須顯示的調用父類的構造函數,因為子類的構造器在實例化時無法找到父類的構造函數(當父類有自己寫的無參構造函數時,子類也不用顯示調用)。
c語言 save函數
可換成
void save()
{
char name[10];
FILE *fp;
int i;
scanf(“%s”,name)
if((fp=fopen(name,”wb”))==NULL)
{printf(“cannot open file\n”);
return;}
for(i=0;iMAX;i++)
if(fwrite(user[i],sizeof(struct diary_type),1,fp)!=1)
printf(“file write error\n”);
fclose(fp);
}
相關概念:
文件: 按一定規則存儲在磁碟上的數據集合。
文件名: 能唯一標識某個磁碟文件的字元串。形式: 盤符:/ 路徑 / 文件名.擴展名
文本文件:: 數據以其數字字元的ASCII碼形式、一個位元組一個位元組地存儲在磁碟上。
二進位文件:數據以二進位形式在存儲在磁碟上。
設備文件:輸入/輸出設備
標準輸入文件:鍵盤
標準輸出文件/標準錯誤輸出文件:顯示器
文件型指針:C語言是通過名為FILE的結構型指針來管理文件讀寫的。FILE *變數名
文件的打開和關閉 :文件操作先建立文件與文件指針之間的關係,接著進行文件的讀與寫。建立文件與文件指針之間的聯繫的過程是文件的打開。終止這種聯繫就是文件的關閉
char ch;
ch = getchar () 功能等價於 ch = fgetc(stdin) 功能等價於 scanf(“%c”,ch) 功能等價於 fscanf(stdin, “%c”,ch)
putchar(ch) 功能等價於 printf(“%c”,ch) 功能等價於 fputc(stdout) 功能等價於 fprintf(stdout, “%c”, ch)
c語言 save()函數 需要的 頭文件
c沒有這個庫函數,只有saveFileDialog保存文件對話函數,可以自定義。
c# image save方法
//水印圖片
string shuiyin = “shuiyin.png”;//水印圖片的位置
//載入文件
System.Drawing.Image Cover;
Cover = System.Drawing.Image.FromFile(“圖片位置”);
//載入水印文件
Image water = Image.FromFile(shuiyin);
//創建畫布
Graphics g = Graphics.FromImage(Cover);
//在image上繪製水印
g.DrawImage(water, new Rectangle(Cover.Width – water.Width, Cover.Height – water.Height, water.Width, water.Height), 0, 0, water.Width, water.Height, GraphicsUnit.Pixel);
//釋放畫布
g.Dispose();
//釋放水印圖片
water.Dispose();
Cover.Save(“保存位置”, );
如何用c語言讀取圖片
#include
using namespace std;
#define Twoto1(i,j,w) i*w+j
void createimage(unsigned char *img, int w, int h)
{img = new unsigned char[w*h];}
void delateimage(unsigned char*img)
{delete []img;}
void readimage(unsigned char*img, int w, int h, char *fname)
{
FILE *fp;
fopen_s(fp,fname, “rb”);
if (fp == NULL){ cout “error” endl; return; }
size_t result;
result=fread(img , sizeof(unsigned char), w*h, fp);
if (result != w*h)
{
cout “Reading error” endl;
return;
}
else
cout “Reading Ok!” endl;
fclose(fp);
}
void mobanjuanji(unsigned char image, unsigned char*image1, int w, int h, float moban[5][5])
{
for (int i = 0; i for (int j = 0; j if (iw – 3 || jh – 3)
image1[Twoto1(i,j,w)] = 0;
else
{
float temp = 0;
for (int m = 0; m5; m++)
for (int n = 0; n5; n++)
{
temp += (image[Twoto1(i-2+m,j-2+n,w)] moban[m][n]);
}
if (temp255) image1[Twoto1(i, j, w)] = 255;
else if (temp0) image1[Twoto1(i, j, w)] = 0;
else image1[Twoto1(i, j, w)] = temp;
}
}
void saveimage(unsigned char *img, int w, int h, char *fname)
{
FILE *fp;
fopen_s(fp, fname, “wb”);
if (fp == NULL) { cout “error” endl; return; }
size_t result;
result = fwrite(img, sizeof(unsigned char), w*h, fp);
if (result != w*h)
{
cout “Write error” endl;
return;
}
else
cout “Write Ok!” endl;
fclose(fp);
}
void main()
{
unsigned char *img;
unsigned char *img1;
float moban[5][5] = { {0,0,0,0,0},{0, -1, 0, 1, 0 }, { 0, -2, 0, 2, 0 }, { 0, -1, 0, 1, 0 }, { 0,0,0,0,0 } };
//float moban[5][5] = { 0 };
int w = 512, h = 512;
createimage(img, w, h);
createimage(img1, w, h);
readimage(img, w, h, “E:\ss.raw”);
mobanjuanji(img, img1,w, h, moban);
saveimage(img, w, h, “E:\ss_1.raw”);
saveimage(img1, w, h, “E:\ss_2.raw”);
delateimage(img);
delateimage(img1);
}
擴展資料
C語言實現一個圖片的讀出和寫入
#include stdlib.h
#include windows.h
int file_size(char* filename)//獲取文件名為filename的文件大小。
{
FILE *fp = fopen(filename, “rb”);//打開文件。
int size;
if(fp == NULL) // 打開文件失敗
return -1;
fseek(fp, 0, SEEK_END);//定位文件指針到文件尾。
size=ftell(fp);//獲取文件指針偏移量,即文件大小。
fclose(fp);//關閉文件。
return size;
}
int main ()
{
int size=0;
size=file_size(“qw”);
printf(“%d\n”,size);
FILE * pFile,*qw;
char *buffer=(char*)malloc(sizeof(char)*size);
qw =fopen(“qw”,”r”);
pFile = fopen ( “qwe” , “wb” );
printf(“%d==\n”,pFile);
printf(“%d\n”,size);
fread(buffer,1,size,qw);
fwrite (buffer , sizeof(byte), size , pFile );
fclose (pFile);
rename(“qwe”,”Groot.jpg”);
return 0;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/237519.html