Картинки на Arduino - Arduino

loker95
Offline
Зарегистрирован: 11.02.2017

Это пример с библиотеки Thermal Printer, как я понимаю

processImage(File image)

этот строка открывает файл, но на эту строку он ругает 

Arduino: 1.6.5 (Windows 8.1), Плата"Arduino Uno"

bitmapImageConvert:6: error: variable or field 'processImage' declared void
bitmapImageConvert:6: error: 'File' was not declared in this scope
bitmapImageConvert.pde: In function 'void setup()':
bitmapImageConvert:6: error: 'selectInput' was not declared in this scope
bitmapImageConvert.pde: At global scope:
bitmapImageConvert:9: error: variable or field 'processImage' declared void
bitmapImageConvert:9: error: 'File' was not declared in this scope
variable or field 'processImage' declared void
Это сообщение будет содержать больше информации чем
"Отображать вывод во время компиляции"
включено в Файл > Настройки

вот тут весь код

// THIS IS NOT ARDUINO CODE!  Runs in Processing IDE ([url]www.processing.org[/url]).
// Convert image to C header file suitable for the Adafruit_Thermal library.
 
void setup() {
  // Select and load image
  selectInput("Select image file to convert:", "processImage");
}
 
void processImage(File image) {
  String      filename, basename;
  PImage      img;
  PrintWriter output;
  int         pixelNum, byteNum, bytesOnLine = 99,
              x, y, b, rowBytes, totalBytes, lastBit, sum;
  println("Loading image...");
  filename = image.getPath();
  img      = loadImage(image.getPath());
 
  // Morph filename into output filename and base name for data
  x = filename.lastIndexOf('.');
  if(x > 0) filename = filename.substring(0, x);  // Strip current extension
  x = filename.lastIndexOf('/');
  if(x > 0) basename = filename.substring(x + 1); // Strip path
  else      basename = filename;
  filename += ".h"; // Append '.h' to output filename
  println("Writing output to " + filename);
 
  // Calculate output size
  rowBytes   = (img.width + 7) / 8;
  totalBytes = rowBytes * img.height;
  // Convert image to B&W, make pixels readable
  img.filter(THRESHOLD);
  img.loadPixels();
 
  // Open header file for output (NOTE: WILL CLOBBER EXISTING .H FILE, if any)
  output = createWriter(filename); 
 
  // Write image dimensions and beginning of array
  output.println("#ifndef _" + basename + "_h_");
  output.println("#define _" + basename + "_h_");
  output.println();
  output.println("#define " + basename + "_width  " + img.width);
  output.println("#define " + basename + "_height " + img.height);
  output.println();
  output.print("static const uint8_t PROGMEM " + basename + "_data[] = {");
 
  // Generate body of array
  for(pixelNum=byteNum=y=0; y<img.height; y++) { // Each row...
    for(x=0; x<rowBytes; x++) { // Each 8-pixel block within row...
      lastBit = (x < rowBytes - 1) ? 1 : (1 << (rowBytes * 8 - img.width));
      sum     = 0; // Clear accumulated 8 bits
      for(b=128; b>=lastBit; b >>= 1) { // Each pixel within block...
        if((img.pixels[pixelNum++] & 1) == 0) sum |= b; // If black pixel, set bit
      }
      if(++bytesOnLine >= 10) { // Wrap nicely
          output.print("\n ");
          bytesOnLine = 0;
      }
      output.format(" 0x%02X", sum); // Write accumulated bits
      if(++byteNum < totalBytes) output.print(',');
    }
  }
 
  // End array, close file, exit program
  output.println();
  output.println("};");
  output.println();
  output.println("#endif // _" + basename + "_h_");
  output.flush();
  output.close();
  println("Done!");
  exit();
}

 

T.Rook
Offline
Зарегистрирован: 05.03.2016

Вы точно прочитали строку 01 приведенного Вами кода и понимаете что в ней?

Вы же не в Arduino IDE пытаетесь запустить, да?

loker95
Offline
Зарегистрирован: 11.02.2017

Да прочитал, но не очень хорошо понемаю эту команду так как я еще не сталкивался с такими

я программирую в Arduino Ide 1.8version

T.Rook
Offline
Зарегистрирован: 05.03.2016

loker95 пишет:

Да прочитал, но не очень хорошо понемаю эту команду так как я еще не сталкивался с такими

я программирую в Arduino Ide 1.8version

Хэх. Ну что ж, придется мне прочитать вслух. В первой строке кода (тот который приведен после слов "Вот тут весь код") написано:

// THIS IS NOT ARDUINO CODE: Runs in Processing IDE ([url]www.processing.org[/url])

// Этот код не для Arduino IDE. Запускается в Processing IDE.

 Ходили по ссылке?

Jeka_M
Jeka_M аватар
Offline
Зарегистрирован: 06.07.2014

loker95 пишет:

Да прочитал, но не очень хорошо понемаю эту команду так как я еще не сталкивался с такими

Это не команда, это текстовый комментарий автора кода. Английский совсем не знаете? Тогда есть гугл переводчик.