⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my_pic.c

📁 adc 3208 上面实现图片旋转的实例
💻 C
📖 第 1 页 / 共 2 页
字号:
#include "VGSDK.h"
#include "mypic.h"
#include <math.h>

extern void Copyb16_from_flash_to_texture_new(word *begin_flash, int begin_texture, 
              int columns, int lines, int columns_apply, int lines_apply);
extern void Write_Packet_com(int mode, int ScrX1, int ScrY1, int ScrX2, int ScrY2, 
                      int Tx1, int Ty1, int A, int B, int C, int D, 
                      int Transparency_Color_RGB, int Offset_t, int Size_t);

My_Pic Gnd, _pic_[_DISP_PIC_NUM];
//strcpy(_pic_[0].P_name, "dig0001");  /*给数组赋字符串 7bytes*/ 
My_Key Key[_KEYNUMBER];
ALL_PIC_address Gnd0, _All_pic_add[_PIC_NUMBER];

extern short x_position;
extern short y_position;

extern float rotate_angle;

void init_small_pic(void);

//影射表 屏幕上的显示图对应原始图,不含背景鼠标广告
//_DISP_PIC_NUM --->_PIC_NUMBER
byte _DIS_table[_DISP_PIC_NUM] ={
	0,1
	};


//tell the address of all pic, use struct ALL_PIC_address
void init_all_pic_address(void)
{
	//strcpy(Gnd0.PIC_name, "Gnd0");//1024*464*2
/*	Gnd0.PIC_name = 0;
	Gnd0.PIC_RAM_add = (U16*)_FLASH_ADD+0;
	Gnd0.PIC_TMEM_add = 0x50000;
	Gnd0.PIC_cols =600;//640;
	Gnd0.PIC_lines =464;//480;
	Gnd0.PIC_size =0x00b7;
*/
	_All_pic_add[0].PIC_name = 10;//roullette 512*300*2
	_All_pic_add[0].PIC_RAM_add = (U16*)(_FLASH_ADD + 0);
	_All_pic_add[0].PIC_TMEM_add = 0x50000+0;
	_All_pic_add[0].PIC_cols =640; //
	_All_pic_add[0].PIC_lines =480;
	_All_pic_add[0].PIC_size =0x00b7;//0b 10 110 110
//说明:10:16位色彩;100:代表(行)2^7, 7-3=4; 110:代表(列)2^9,9-3=6
	_All_pic_add[1].PIC_name = 11;//
	_All_pic_add[1].PIC_RAM_add = (U16*)(_FLASH_ADD + 614400 );
	_All_pic_add[1].PIC_TMEM_add = 0x50000+0xF0000;
	_All_pic_add[1].PIC_cols =128; //
	_All_pic_add[1].PIC_lines =128;
	_All_pic_add[1].PIC_size =0x00a4;
/*
	_All_pic_add[2].PIC_name = 12; //
	_All_pic_add[2].PIC_RAM_add = (U16*)(_FLASH_ADD + 200000);
	_All_pic_add[2].PIC_TMEM_add = 0x50000+0x19000*2;
	_All_pic_add[2].PIC_cols =500;
	_All_pic_add[2].PIC_lines =100;
	_All_pic_add[2].PIC_size =0xa6;
	
	_All_pic_add[3].PIC_name = 13; //r2 200*94 0xa5
	_All_pic_add[3].PIC_RAM_add = (U16*)(_FLASH_ADD + 300000 );
	_All_pic_add[3].PIC_TMEM_add = 0x50000+0x19000*3;
	_All_pic_add[3].PIC_cols =500;
	_All_pic_add[3].PIC_lines =100;
	_All_pic_add[3].PIC_size =0xa6;
	
    _All_pic_add[4].PIC_name = 14; //r3 200*94 0xa5
	_All_pic_add[4].PIC_RAM_add = (U16*)(_FLASH_ADD + 400000);
	_All_pic_add[4].PIC_TMEM_add = 0x50000+0x19000*4;
	_All_pic_add[4].PIC_cols =500;
	_All_pic_add[4].PIC_lines =100;
	_All_pic_add[4].PIC_size =0xa6;
	
	_All_pic_add[5].PIC_name = 15; //r4 200*94 0xa5
	_All_pic_add[5].PIC_RAM_add = (U16*)(_FLASH_ADD + 500000);
	_All_pic_add[5].PIC_TMEM_add = 0x50000+0x19000*5;
	_All_pic_add[5].PIC_cols =500;
	_All_pic_add[5].PIC_lines =100;
	_All_pic_add[5].PIC_size =0xa6;

	_All_pic_add[6].PIC_name = 16; //r5 200*94 0xa5
	_All_pic_add[6].PIC_RAM_add = (U16*)(_FLASH_ADD + 600000 );
	_All_pic_add[6].PIC_TMEM_add = 0x50000+0x19000*6;
	_All_pic_add[6].PIC_cols =500;
	_All_pic_add[6].PIC_lines =100;
	_All_pic_add[6].PIC_size =0xa6;
	
	_All_pic_add[7].PIC_name = 17; //r6 200*94 0xa5
	_All_pic_add[7].PIC_RAM_add = (U16*)(_FLASH_ADD + 700000);
	_All_pic_add[7].PIC_TMEM_add = 0x50000+0x19000*7;
	_All_pic_add[7].PIC_cols =500;
	_All_pic_add[7].PIC_lines =100;
	_All_pic_add[7].PIC_size =0xa6;
	
	_All_pic_add[8].PIC_name = 18; //r7 200*94 0xa5
	_All_pic_add[8].PIC_RAM_add = (U16*)(_FLASH_ADD + 800000);
	_All_pic_add[8].PIC_TMEM_add = 0x50000+0x19000*8;
	_All_pic_add[8].PIC_cols =500;
	_All_pic_add[8].PIC_lines =100;
	_All_pic_add[8].PIC_size =0xa6;
	
	_All_pic_add[9].PIC_name = 19; //r8 200*94 0xa5
	_All_pic_add[9].PIC_RAM_add = (U16*)(_FLASH_ADD + 900000);
	_All_pic_add[9].PIC_TMEM_add = 0x50000+0x19000*9;
	_All_pic_add[9].PIC_cols =500;
	_All_pic_add[9].PIC_lines =100;
	_All_pic_add[9].PIC_size =0xa6;
	
	_All_pic_add[10].PIC_name = 21; //r10 200*94 0xa5
	_All_pic_add[10].PIC_RAM_add = (U16*)(_FLASH_ADD + 1000000);
	_All_pic_add[10].PIC_TMEM_add = 0x50000+0x19000*10;
	_All_pic_add[10].PIC_cols =500;
	_All_pic_add[10].PIC_lines =100;
	_All_pic_add[10].PIC_size =0xa6;

	_All_pic_add[11].PIC_name = 22; //r11 200*94 0xa5
	_All_pic_add[11].PIC_RAM_add = (U16*)(_FLASH_ADD + 1100000);
	_All_pic_add[11].PIC_TMEM_add = 0x50000+0x19000*11;
	_All_pic_add[11].PIC_cols =500;
	_All_pic_add[11].PIC_lines =100;
	_All_pic_add[11].PIC_size =0xa6;

	_All_pic_add[13].PIC_name = 23; //r12 200*94 0xa5
	_All_pic_add[13].PIC_RAM_add = (U16*)(_FLASH_ADD + 1200000);
	_All_pic_add[13].PIC_TMEM_add = 0x15CB00+0x19000*12;
	_All_pic_add[13].PIC_cols =200;
	_All_pic_add[13].PIC_lines =94;
	_All_pic_add[13].PIC_size =0xa5;
	
	_All_pic_add[14].PIC_name = 24; //r13 200*94 0xa5
	_All_pic_add[14].PIC_RAM_add = (U16*)(_FLASH_ADD + 1312592);
	_All_pic_add[14].PIC_TMEM_add = 0x15CB00+0xbc00*12;
	_All_pic_add[14].PIC_cols =200;
	_All_pic_add[14].PIC_lines =94;
	_All_pic_add[14].PIC_size =0xa5;

	_All_pic_add[15].PIC_name = 25; //r15 200*94 0xa5
	_All_pic_add[15].PIC_RAM_add = (U16*)(_FLASH_ADD + 1350192);
	_All_pic_add[15].PIC_TMEM_add = 0x15CB00+0xbc00*13;
	_All_pic_add[15].PIC_cols =200;
	_All_pic_add[15].PIC_lines =94;
	_All_pic_add[15].PIC_size =0xa5;

	_All_pic_add[16].PIC_name = 26; //r16 200*94 0xa5
	_All_pic_add[16].PIC_RAM_add = (U16*)(_FLASH_ADD + 1387792);
	_All_pic_add[16].PIC_TMEM_add = 0x15CB00+0xbc00*14;
	_All_pic_add[16].PIC_cols =200;
	_All_pic_add[16].PIC_lines =94;
	_All_pic_add[16].PIC_size =0xa5;

	_All_pic_add[17].PIC_name = 27; //r17 200*94 0xa5
	_All_pic_add[17].PIC_RAM_add = (U16*)(_FLASH_ADD + 1425392);
	_All_pic_add[17].PIC_TMEM_add = 0x15CB00+0xbc00*15;
	_All_pic_add[17].PIC_cols =200;
	_All_pic_add[17].PIC_lines =94;
	_All_pic_add[17].PIC_size =0xa5;

	_All_pic_add[18].PIC_name = 28; //r18 200*94 0xa5
	_All_pic_add[18].PIC_RAM_add = (U16*)(_FLASH_ADD + 1462992);
	_All_pic_add[18].PIC_TMEM_add = 0x15CB00+0xbc00*16;
	_All_pic_add[18].PIC_cols =200;
	_All_pic_add[18].PIC_lines =94;
	_All_pic_add[18].PIC_size =0xa5;

	_All_pic_add[19].PIC_name = 29; //r19 200*94 0xa5
	_All_pic_add[19].PIC_RAM_add = (U16*)(_FLASH_ADD + 1500592);
	_All_pic_add[19].PIC_TMEM_add = 0x15CB00+0xbc00*17;
	_All_pic_add[19].PIC_cols =200;
	_All_pic_add[19].PIC_lines =94;
	_All_pic_add[19].PIC_size =0xa5;

	_All_pic_add[20].PIC_name = 30; //r20 200*94 0xa5
	_All_pic_add[20].PIC_RAM_add = (U16*)(_FLASH_ADD + 1538192);
	_All_pic_add[20].PIC_TMEM_add = 0x15CB00+0xbc00*18;
	_All_pic_add[20].PIC_cols =200;
	_All_pic_add[20].PIC_lines =94;
	_All_pic_add[20].PIC_size =0xa5;

	_All_pic_add[21].PIC_name = 31; //r21 200*94 0xa5
	_All_pic_add[21].PIC_RAM_add = (U16*)(_FLASH_ADD + 1575792);
	_All_pic_add[21].PIC_TMEM_add = 0x15CB00+0xbc00*19;
	_All_pic_add[21].PIC_cols =200;
	_All_pic_add[21].PIC_lines =94;
	_All_pic_add[21].PIC_size =0xa5;

	_All_pic_add[22].PIC_name = 32; //r22 200*94 0xa5
	_All_pic_add[22].PIC_RAM_add = (U16*)(_FLASH_ADD + 1613392);
	_All_pic_add[22].PIC_TMEM_add = 0x15CB00+0xbc00*20;
	_All_pic_add[22].PIC_cols =200;
	_All_pic_add[22].PIC_lines =94;
	_All_pic_add[22].PIC_size =0xa5;

	_All_pic_add[23].PIC_name = 33; //r23 200*94 0xa5
	_All_pic_add[23].PIC_RAM_add = (U16*)(_FLASH_ADD + 1650992);
	_All_pic_add[23].PIC_TMEM_add = 0x15CB00+0xbc00*21;
	_All_pic_add[23].PIC_cols =200;
	_All_pic_add[23].PIC_lines =94;
	_All_pic_add[23].PIC_size =0xa5;

	_All_pic_add[24].PIC_name = 34; //r24 200*94 0xa5
	_All_pic_add[24].PIC_RAM_add = (U16*)(_FLASH_ADD + 1688592);
	_All_pic_add[24].PIC_TMEM_add = 0x15CB00+0xbc00*22;
	_All_pic_add[24].PIC_cols =200;
	_All_pic_add[24].PIC_lines =94;
	_All_pic_add[24].PIC_size =0xa5;

	_All_pic_add[25].PIC_name = 35; //r25 200*94 0xa5
	_All_pic_add[25].PIC_RAM_add = (U16*)(_FLASH_ADD + 1726192);
	_All_pic_add[25].PIC_TMEM_add = 0x15CB00+0xbc00*23;
	_All_pic_add[25].PIC_cols =200;
	_All_pic_add[25].PIC_lines =94;
	_All_pic_add[25].PIC_size =0xa5;

	_All_pic_add[26].PIC_name = 36; //r26 200*94 0xa5
	_All_pic_add[26].PIC_RAM_add = (U16*)(_FLASH_ADD + 1763792);
	_All_pic_add[26].PIC_TMEM_add = 0x15CB00+0xbc00*24;
	_All_pic_add[26].PIC_cols =200;
	_All_pic_add[26].PIC_lines =94;
	_All_pic_add[26].PIC_size =0xa5;

	_All_pic_add[27].PIC_name = 37; //r27 200*94 0xa5
	_All_pic_add[27].PIC_RAM_add = (U16*)(_FLASH_ADD + 1801392);
	_All_pic_add[27].PIC_TMEM_add = 0x15CB00+0xbc00*25;
	_All_pic_add[27].PIC_cols =200;
	_All_pic_add[27].PIC_lines =94;
	_All_pic_add[27].PIC_size =0xa5;
*/

	/* others
	_All_pic_add[0].PIC_name = 11;
	_All_pic_add[0].PIC_RAM_add = (U16*)(0x02200000 + 644400);
	_All_pic_add[0].PIC_TMEM_add = 0x50000+0x0FF800;
	_All_pic_add[0].PIC_cols =40;
	_All_pic_add[0].PIC_lines =38;
	_All_pic_add[0].PIC_size =0x009b;
	*/
}
//tell the initial position of the pics on screen,use struct My_Pic
void init_struct(void)
{
/*	Gnd.P_id = Gnd0.PIC_name;
	Gnd.P_RAM_add = Gnd0.PIC_RAM_add; //(U16*)0x2200000;
	Gnd.P_TMEM_add = Gnd0.PIC_TMEM_add;//0x50000;
	Gnd.P_cols =Gnd0.PIC_cols;//640;
	Gnd.P_lines =Gnd0.PIC_lines;//480;
	Gnd.P_x =153;
	Gnd.P_y =24;
	Gnd.P_size =Gnd0.PIC_size;//0x00b7
*/
	init_small_pic();
}

void init_small_pic(void)
{
  int i;
  
  for(i=0;i<_DISP_PIC_NUM;i++)
  {
    _pic_[i].P_disp= 1;

    _pic_[i].P_key_id  =  100;// key_id >100: not a key
	
  	_pic_[i].P_id      =  _All_pic_add[_DIS_table[i]].PIC_name;
    _pic_[i].P_RAM_add =  _All_pic_add[_DIS_table[i]].PIC_RAM_add;
	_pic_[i].P_TMEM_add = _All_pic_add[_DIS_table[i]].PIC_TMEM_add;
	_pic_[i].P_cols =     _All_pic_add[_DIS_table[i]].PIC_cols;
	_pic_[i].P_lines =    _All_pic_add[_DIS_table[i]].PIC_lines;
	
		
	_pic_[i].P_x =0; //0图显示位置
	_pic_[i].P_y =0;
	_pic_[i].P_last0_x =50; //没用
	_pic_[i].P_last0_y =50;//没用
	_pic_[i].P_last1_x =50;//没用
	_pic_[i].P_last1_y =50;//没用
	_pic_[i].P_r_x =50;//没用
	_pic_[i].P_r_y =50;//没用

	_pic_[i].P_size =     _All_pic_add[_DIS_table[i]].PIC_size;
  }
  
  	_pic_[1].P_x =200; //1图显示位置
	_pic_[1].P_y =100;

/*  for(i=0;i<7;i++)
  {
    _pic_[21+i].P_x =24+i*(64+24);
    _pic_[21+i].P_y =10;
  }
  for(i=0;i<7;i++)
  {
    _pic_[28+i].P_x =24+i*(64+24);
    _pic_[28+i].P_y =70;
  }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -