这篇教程C++ BSP_LCD_DrawPixel函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中BSP_LCD_DrawPixel函数的典型用法代码示例。如果您正苦于以下问题:C++ BSP_LCD_DrawPixel函数的具体用法?C++ BSP_LCD_DrawPixel怎么用?C++ BSP_LCD_DrawPixel使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了BSP_LCD_DrawPixel函数的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: BSP_LCD_DrawEllipse/** * @brief Draws an ellipse on LCD. * @param Xpos: X position * @param Ypos: Y position * @param XRadius: Ellipse X radius * @param YRadius: Ellipse Y radius * @retval None */void BSP_LCD_DrawEllipse(int Xpos, int Ypos, int XRadius, int YRadius){ int x = 0, y = -YRadius, err = 2-2*XRadius, e2; float K = 0, rad1 = 0, rad2 = 0; rad1 = XRadius; rad2 = YRadius; K = (float)(rad2/rad1); do { BSP_LCD_DrawPixel((Xpos-(uint16_t)(x/K)), (Ypos+y), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos+(uint16_t)(x/K)), (Ypos+y), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos+(uint16_t)(x/K)), (Ypos-y), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos-(uint16_t)(x/K)), (Ypos-y), DrawProp.TextColor); e2 = err; if (e2 <= x) { err += ++x*2+1; if (-y == x && e2 <= y) e2 = 0; } if (e2 > y) err += ++y*2+1; } while (y <= 0);}
开发者ID:PaulingZhou,项目名称:RM2016_0X3_SystemBoard,代码行数:33,
示例2: BSP_LCD_DrawCircle/** * @brief Displays a circle. * @param Xpos: the X position * @param Ypos: the Y position * @param Radius: the circle radius */void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius){ int32_t d;/* Decision Variable */ uint32_t curx;/* Current X Value */ uint32_t cury;/* Current Y Value */ d = 3 - (Radius << 1); curx = 0; cury = Radius; while (curx <= cury) { BSP_LCD_DrawPixel((Xpos + curx), (Ypos - cury), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos - curx), (Ypos - cury), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos + cury), (Ypos - curx), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos - cury), (Ypos - curx), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos + curx), (Ypos + cury), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos - curx), (Ypos + cury), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos + cury), (Ypos + curx), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos - cury), (Ypos + curx), DrawProp[ActiveLayer].TextColor); if (d < 0) { d += (curx << 2) + 6; } else { d += ((curx - cury) << 2) + 10; cury--; } curx++; } }
开发者ID:mnowell129,项目名称:GliderScaleSystemWorkbench,代码行数:39,
示例3: DrawChar/** * @brief Draws a character on LCD. * @param Xpos: Line where to display the character shape * @param Ypos: Start column address * @param c: Pointer to the character data * @retval None */static void DrawChar(uint16_t Xpos, uint16_t Ypos, const uint8_t *c){ uint32_t i = 0, j = 0; uint16_t height, width; uint8_t offset; uint8_t *pchar; uint32_t line; height = DrawProp[ActiveLayer].pFont->Height; width = DrawProp[ActiveLayer].pFont->Width; offset = 8 *((width + 7)/8) - width ; for(i = 0; i < height; i++) { pchar = ((uint8_t *)c + (width + 7)/8 * i); switch(((width + 7)/8)) { case 1: line = pchar[0]; break; case 2: line = (pchar[0]<< 8) | pchar[1]; break; case 3: default: line = (pchar[0]<< 16) | (pchar[1]<< 8) | pchar[2]; break; } for (j = 0; j < width; j++) { if(line & (1 << (width- j + offset- 1))) { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].TextColor); } else { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].BackColor); } } Ypos++; }}
开发者ID:picohari,项目名称:intewa_stm32f7,代码行数:55,
示例4: display_samplesvoid display_samples(uint32_t *samples) { uint32_t trigger_point = find_trigger_point(samples); //to synchronize BSP_LCD_Clear(LCD_COLOR_BLACK); for(uint32_t i = trigger_point+2; i < SIZE; i += 2) { BSP_LCD_DrawPixel(scale(samples[i]),i-trigger_point,LCD_COLOR_WHITE); }}
开发者ID:jifwin,项目名称:auk_project,代码行数:7,
示例5: BSP_LCD_DrawVLine/** * @brief Draws a vertical line. * @param Xpos: X position * @param Ypos: Y position * @param Length: Line length * @retval None */void BSP_LCD_DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length){ uint32_t index = 0; if(lcd_drv->DrawVLine != NULL) { lcd_drv->DrawVLine(DrawProp.TextColor, Xpos, Ypos, Length); } else { for(index = 0; index < Length; index++) { BSP_LCD_DrawPixel(Xpos, Ypos + index, DrawProp.TextColor); } }}
开发者ID:PaulingZhou,项目名称:RM2016_0X3_SystemBoard,代码行数:23,
示例6: BSP_LCD_DrawCircle/** * @brief Draws a circle. * @param Xpos: X position * @param Ypos: Y position * @param Radius: Circle radius * @retval None */void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius){ int32_t D; /* Decision Variable */ uint32_t CurX; /* Current X Value */ uint32_t CurY; /* Current Y Value */ D = 3 - (Radius << 1); CurX = 0; CurY = Radius; while (CurX <= CurY) { BSP_LCD_DrawPixel((Xpos + CurX), (Ypos - CurY), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos - CurX), (Ypos - CurY), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos + CurY), (Ypos - CurX), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos - CurY), (Ypos - CurX), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos + CurX), (Ypos + CurY), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos - CurX), (Ypos + CurY), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos + CurY), (Ypos + CurX), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos - CurY), (Ypos + CurX), DrawProp.TextColor); /* Initialize the font */ BSP_LCD_SetFont(&LCD_DEFAULT_FONT); if (D < 0) { D += (CurX << 2) + 6; } else { D += ((CurX - CurY) << 2) + 10; CurY--; } CurX++; } }
开发者ID:PaulingZhou,项目名称:RM2016_0X3_SystemBoard,代码行数:50,
示例7: BSP_LCD_DrawCircle/** * @brief Draws a circle. * @param Xpos: X position * @param Ypos: Y position * @param Radius: Circle radius * @retval None */void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius){ int32_t decision; /* Decision Variable */ uint32_t current_x; /* Current X Value */ uint32_t current_y; /* Current Y Value */ decision = 3 - (Radius << 1); current_x = 0; current_y = Radius; while (current_x <= current_y) { BSP_LCD_DrawPixel((Xpos + current_x), (Ypos - current_y), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos - current_x), (Ypos - current_y), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos + current_y), (Ypos - current_x), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos - current_y), (Ypos - current_x), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos + current_x), (Ypos + current_y), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos - current_x), (Ypos + current_y), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos + current_y), (Ypos + current_x), DrawProp.TextColor); BSP_LCD_DrawPixel((Xpos - current_y), (Ypos + current_x), DrawProp.TextColor); /* Initialize the font */ BSP_LCD_SetFont(&LCD_DEFAULT_FONT); if (decision < 0) { decision += (current_x << 2) + 6; } else { decision += ((current_x - current_y) << 2) + 10; current_y--; } current_x++; } }
开发者ID:Lembed,项目名称:STM32CubeF4-mirrors,代码行数:50,
示例8: BSP_LCD_DrawCircle/** * @brief Draws a circle. * @param Xpos: X position * @param Ypos: Y position * @param Radius: Circle radius * @retval None */void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius){ int32_t D; /* Decision Variable */ uint32_t CurX; /* Current X Value */ uint32_t CurY; /* Current Y Value */ D = 3 - (Radius << 1); CurX = 0; CurY = Radius; while (CurX <= CurY) { BSP_LCD_DrawPixel((Xpos + CurX), (Ypos - CurY), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos - CurX), (Ypos - CurY), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos + CurY), (Ypos - CurX), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos - CurY), (Ypos - CurX), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos + CurX), (Ypos + CurY), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos - CurX), (Ypos + CurY), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos + CurY), (Ypos + CurX), DrawProp[ActiveLayer].TextColor); BSP_LCD_DrawPixel((Xpos - CurY), (Ypos + CurX), DrawProp[ActiveLayer].TextColor); if (D < 0) { D += (CurX << 2) + 6; } else { D += ((CurX - CurY) << 2) + 10; CurY--; } CurX++; }}
开发者ID:Joe-Merten,项目名称:Stm32-Tools-Evaluation,代码行数:47,
示例9: kStorage_OpenFileDrawPixel/** * @brief Open a file and draw each pixel of the corresponding file * @param xpos: x position for the image * @param xpos: y position for the image * @param BmpName : file name * @retval err: Error status (0=> success, 1=> fail) */STORAGE_RETURN kStorage_OpenFileDrawPixel(uint16_t xpos, uint16_t ypos, uint8_t *BmpName){ uint32_t index, size, width, height; #if 0 uint32_t x; uint16_t color;#endif uint32_t bmpaddress, bit_pixel; unsigned int BytesRead; FIL file1; uint8_t *kstorage_tmpbuffer = NULL; if(f_open(&file1, (char *)BmpName, FA_READ) != FR_OK) { return KSTORAGE_ERROR_OPEN; } /* Memory allocation for the BMP header */ kstorage_tmpbuffer = malloc(sizeof(uint8_t)*30); if(kstorage_tmpbuffer==NULL) { f_close(&file1); return KSTORAGE_ERROR_MALLOC; } /* Read BMP header */ if(f_read(&file1, (char *)kstorage_tmpbuffer, 30, &BytesRead) != FR_OK) { free(kstorage_tmpbuffer); f_close(&file1); return KSTORAGE_ERROR_READ; } /* get the bmpadress */ bmpaddress = (uint32_t)kstorage_tmpbuffer; /* Read bitmap size */ size = *(uint16_t *) (bmpaddress + 2); size |= (*(uint16_t *) (bmpaddress + 4)) << 16; /* Get bitmap data address offset */ index = *(uint16_t *) (bmpaddress + 10); index |= (*(uint16_t *) (bmpaddress + 12)) << 16; /* Read bitmap width */ width = *(uint16_t *) (bmpaddress + 18); width |= (*(uint16_t *) (bmpaddress + 20)) << 16; /* Read bitmap height */ height = *(uint16_t *) (bmpaddress + 22); height |= (*(uint16_t *) (bmpaddress + 24)) << 16; /* Read bit/pixel */ bit_pixel = (*(uint16_t *) (bmpaddress + 28)) / 8; // bit_pixel = bit_pixel/8; size = (size - index); xpos = xpos + height - 1; /* Synchronize f_read right in front of the image data */ f_close (&file1); /* Memory allocation for the BMP data line */ free(kstorage_tmpbuffer); kstorage_tmpbuffer = malloc(sizeof(uint8_t)*width*bit_pixel); if(kstorage_tmpbuffer==NULL) { return KSTORAGE_ERROR_OPEN; } f_open (&file1, (TCHAR const*)BmpName, FA_READ); f_read(&file1, kstorage_tmpbuffer, index, &BytesRead); do { /* read a line */ f_read(&file1, kstorage_tmpbuffer, width*bit_pixel, &BytesRead); size -= width*bit_pixel;#if 0 /* display each pixel of the line */ for (x = 0; x < width; x++) { color = (kstorage_tmpbuffer[ 2*x+1] << 8) | kstorage_tmpbuffer[ 2 * x]; BSP_LCD_DrawPixel(xpos, ypos + x, color); }#elseextern void hx8347d_SetCursor(uint16_t Xpos, uint16_t Ypos); //void LCD_IO_WriteMultipleData(uint8_t *pData, uint32_t Size);//void LCD_IO_WriteReg(uint8_t Reg); // hx8347d_WriteReg(LCD_REG_22, 0xA0); /* Set Cursor */ hx8347d_SetCursor(xpos, ypos);//.........这里部分代码省略.........
开发者ID:GreyCardinalRus,项目名称:stm32-cube,代码行数:101,
示例10: BSP_LCD_DrawLine/** * @brief Draws an uni-line (between two points). * @param x1: Point 1 X position * @param y1: Point 1 Y position * @param x2: Point 2 X position * @param y2: Point 2 Y position * @retval None */void BSP_LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2){ int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, yinc1 = 0, yinc2 = 0, den = 0, num = 0, numadd = 0, numpixels = 0, curpixel = 0; deltax = ABS(x2 - x1); /* The difference between the x's */ deltay = ABS(y2 - y1); /* The difference between the y's */ x = x1; /* Start x off at the first pixel */ y = y1; /* Start y off at the first pixel */ if (x2 >= x1) /* The x-values are increasing */ { xinc1 = 1; xinc2 = 1; } else /* The x-values are decreasing */ { xinc1 = -1; xinc2 = -1; } if (y2 >= y1) /* The y-values are increasing */ { yinc1 = 1; yinc2 = 1; } else /* The y-values are decreasing */ { yinc1 = -1; yinc2 = -1; } if (deltax >= deltay) /* There is at least one x-value for every y-value */ { xinc1 = 0; /* Don't change the x when numerator >= denominator */ yinc2 = 0; /* Don't change the y for every iteration */ den = deltax; num = deltax / 2; numadd = deltay; numpixels = deltax; /* There are more x-values than y-values */ } else /* There is at least one y-value for every x-value */ { xinc2 = 0; /* Don't change the x for every iteration */ yinc1 = 0; /* Don't change the y when numerator >= denominator */ den = deltay; num = deltay / 2; numadd = deltax; numpixels = deltay; /* There are more y-values than x-values */ } for (curpixel = 0; curpixel <= numpixels; curpixel++) { BSP_LCD_DrawPixel(x, y, DrawProp.TextColor); /* Draw the current pixel */ num += numadd; /* Increase the numerator by the top of the fraction */ if (num >= den) /* Check if numerator >= denominator */ { num -= den; /* Calculate the new numerator value */ x += xinc1; /* Change the x as appropriate */ y += yinc1; /* Change the y as appropriate */ } x += xinc2; /* Change the x as appropriate */ y += yinc2; /* Change the y as appropriate */ }}
开发者ID:PaulingZhou,项目名称:RM2016_0X3_SystemBoard,代码行数:74,
示例11: Storage_OpenReadFile/** * @brief Open a file and copy its content to a buffer * @param Xpoz: X position * @param Ypoz: Y position * @param BmpName: A pointer to the Bmp file name * @retval err: Error status (0=> success, 1=> fail) */uint32_t Storage_OpenReadFile(uint8_t Xpoz, uint16_t Ypoz, const char *BmpName){ uint32_t index = 0, size = 0, width = 0, height = 0, i1 = 0, x = 0, y = 159; uint32_t bmpaddress, bit_pixel = 0; FIL file1; uint16_t color = 0; f_open(&file1, BmpName, FA_READ); f_read(&file1, aBuffer, 30, &BytesRead); bmpaddress = (uint32_t)aBuffer; /* Read bitmap size */ size = *(uint16_t *) (bmpaddress + 2); size |= (*(uint16_t *) (bmpaddress + 4)) << 16; /* Get bitmap data address offset */ index = *(uint16_t *) (bmpaddress + 10); index |= (*(uint16_t *) (bmpaddress + 12)) << 16; /* Read bitmap width */ width = *(uint16_t *) (bmpaddress + 18); width |= (*(uint16_t *) (bmpaddress + 20)) << 16; /* Read bitmap height */ height = *(uint16_t *) (bmpaddress + 22); height |= (*(uint16_t *) (bmpaddress + 24)) << 16; /* Read bit/pixel */ bit_pixel = *(uint16_t *) (bmpaddress + 28); bit_pixel = bit_pixel/8; size = (size - index); /* Synchronize f_read right in front of the image data */ f_close (&file1); f_open (&file1, (TCHAR const*)BmpName, FA_READ); f_read(&file1, aBuffer, index, &BytesRead); do { if(size < 512) { i1 = size; } else { i1 = 512; } size -= i1; f_read(&file1, aBuffer, i1, (UINT *)&BytesRead); for (index = 0; index < (i1/bit_pixel); index++) { if( index%bit_pixel == 0) { color = (aBuffer[ index + 1] << 8) | aBuffer[ index]; } x = index/bit_pixel; BSP_LCD_DrawPixel(x, y, color); } y--; for (index = (i1/bit_pixel); index < i1; index++) { if( index%bit_pixel == 0) { color = (aBuffer[ index + 1] << 8) | aBuffer[ index]; } x = index/bit_pixel - width; BSP_LCD_DrawPixel(x, y, color); } y--; } while (size > 0); f_close(&file1); return 1;}
开发者ID:451506709,项目名称:automated_machine,代码行数:89,
示例12: BSP_LCD_DrawPixelvoid LCD_DISCO_F469NI::DrawPixel(uint16_t Xpos, uint16_t Ypos, uint32_t RGB_Code){ BSP_LCD_DrawPixel(Xpos, Ypos, RGB_Code);}
开发者ID:cjbrigato,项目名称:RFIdea,代码行数:4,
注:本文中的BSP_LCD_DrawPixel函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ BSP_LCD_DrawRect函数代码示例 C++ BSP_LCD_DrawHLine函数代码示例 |